import React, { ForwardedRef, useContext } from 'react';
import { OriginIconProps } from '../type';
import { Context } from '../context';

function IconMemoryWebappComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = true, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-memory-webapp${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 24 24" {...rest} ref={ref}><path d="M21.0498 10.8398C21.0498 9.31511 20.5028 7.31647 19.2431 5.71875C18.0101 4.15501 16.0792 2.95023 13.1992 2.9502C11.2084 2.9502 9.7603 3.39484 8.74995 4.1748C7.75167 4.94563 7.06552 6.13279 6.76362 7.85449C6.71187 8.14874 6.52511 8.40176 6.25874 8.53711C5.14157 9.10467 4.2802 9.5593 3.6689 9.90332C3.92243 10.0791 4.21043 10.3186 4.4228 10.6348C4.71632 11.0718 4.84437 11.6285 4.64839 12.2314L4.60444 12.3525C4.4587 12.7222 4.24841 13.1498 4.05952 13.5439C3.86148 13.9571 3.67191 14.3638 3.52534 14.7568C3.3771 15.1544 3.29263 15.4878 3.27632 15.7539C3.26059 16.0112 3.31168 16.1406 3.36421 16.2139L3.42085 16.2783C3.48891 16.3435 3.59623 16.4092 3.78315 16.4707C4.05091 16.5588 4.38495 16.6091 4.84077 16.6689C5.65705 16.7761 6.90591 16.9003 7.89155 17.6826L8.10835 17.8633C9.10286 18.7313 9.82818 19.9329 10.3232 21.4023L10.4257 21.7217L10.4501 21.8154C10.5442 22.2877 10.267 22.7638 9.79683 22.9082C9.32658 23.0524 8.8295 22.8138 8.64253 22.3701L8.60933 22.2783L8.52241 22.0078C8.10544 20.77 7.53802 19.8867 6.85737 19.293L6.70991 19.1709C6.21314 18.7766 5.54242 18.6775 4.59272 18.5527C4.16562 18.4966 3.65427 18.4283 3.1894 18.2754C2.76647 18.1362 2.32157 17.9085 1.96675 17.5049L1.82026 17.3213C1.43783 16.7878 1.34667 16.1823 1.37983 15.6387C1.41252 15.1039 1.56741 14.5692 1.74507 14.0928C1.92457 13.6114 2.14837 13.1363 2.34663 12.7227C2.54964 12.2991 2.7153 11.9589 2.82905 11.6738C2.77805 11.6102 2.66621 11.5106 2.45503 11.3789C2.34604 11.311 2.23133 11.2466 2.10737 11.1777C1.99407 11.1148 1.85315 11.0372 1.73335 10.9619C1.63691 10.9013 1.43504 10.7713 1.28315 10.5752C1.19937 10.467 1.07763 10.2723 1.05366 10.0029C1.02722 9.70422 1.13176 9.4462 1.27632 9.26172L1.40815 9.11719C1.55165 8.97952 1.72182 8.86352 1.84761 8.78027C2.05647 8.64207 2.32726 8.47929 2.65229 8.29492C3.22667 7.96914 4.00724 7.55703 4.98628 7.05566C5.39462 5.20286 6.24352 3.71018 7.58979 2.6709C9.03634 1.55425 10.9413 1.0498 13.1992 1.0498C16.6917 1.04984 19.1611 2.54635 20.7353 4.54297C22.2828 6.50585 22.9501 8.92814 22.9501 10.8398C22.9499 14.5427 20.0168 18.3657 15.8271 19.5264C15.833 19.5385 15.8382 19.5515 15.8447 19.5645C16.057 19.9868 16.4885 20.581 17.1962 21.3613C17.5487 21.7499 17.5194 22.3516 17.1308 22.7041C16.7423 23.0564 16.1415 23.0269 15.789 22.6387C15.0421 21.8153 14.4752 21.0701 14.1474 20.418C13.8496 19.8255 13.585 18.972 14.0888 18.2383L14.1455 18.1641C14.2854 17.998 14.4791 17.8838 14.6943 17.8428C18.4698 17.123 21.0495 13.7845 21.0498 10.8398Z"/><path d="M11.5834 5.0181C11.8687 4.97894 12.1323 4.97116 12.3754 5.01224C12.7595 5.07724 13.0099 5.24878 13.1849 5.41067C13.2108 5.43458 13.2296 5.45527 13.2455 5.47025C13.2633 5.4715 13.287 5.47415 13.3168 5.47415C13.9119 5.47419 14.5673 5.55788 15.1068 5.7388C15.3722 5.82782 15.6688 5.95985 15.9174 6.1636C16.0955 6.30976 16.2911 6.53415 16.392 6.8345C16.4503 6.84489 16.516 6.8557 16.5873 6.86185C16.6986 6.87143 16.8039 6.87357 16.8812 6.87357C17.1964 6.87361 17.4399 7.00617 17.5736 7.09524C17.7232 7.19493 17.8504 7.31813 17.9555 7.43704C18.1674 7.6769 18.3616 7.98573 18.5199 8.33157C18.7983 8.93983 19.0037 9.74165 18.9721 10.6392L18.9437 11.0298C18.854 11.8335 18.4759 12.574 17.6596 12.9283C17.1617 13.1443 16.5993 13.1657 16.0238 13.0826C15.87 13.2884 15.6847 13.4723 15.4633 13.6255C15.0557 13.9074 14.5749 14.066 14.0648 14.1421L13.8441 14.1695C13.4768 14.2073 13.0769 14.1738 12.7045 13.9868C12.3185 13.793 12.0509 13.4784 11.8871 13.1167C11.7007 12.705 11.6428 12.2205 11.6625 11.7066C10.8099 11.5153 10.0709 11.2085 9.51893 10.73L9.37538 10.5962C8.46836 9.70423 8.48546 8.34803 8.82948 7.01321L8.84022 6.97708C9.17769 5.8517 10.1602 5.28613 11.2904 5.06692L11.5834 5.0181ZM11.9779 6.88626C11.9463 6.88815 11.9043 6.89268 11.85 6.89993L11.6527 6.93216C10.8934 7.07941 10.7189 7.33961 10.6635 7.51126C10.3634 8.69194 10.5735 9.10997 10.7074 9.24173L10.8353 9.35208C11.1727 9.60747 11.788 9.85177 12.8236 9.98196C13.0814 10.0144 13.3147 10.151 13.4691 10.3599C13.6235 10.5688 13.6856 10.8315 13.641 11.0874C13.5769 11.4554 13.5543 11.7439 13.5599 11.9624C13.5641 12.1203 13.5854 12.2208 13.6019 12.2798C13.6154 12.2793 13.6315 12.2817 13.6498 12.2798L13.9105 12.2408C14.1422 12.1939 14.2904 12.1255 14.3822 12.062C14.4865 11.9898 14.5546 11.9003 14.5961 11.7505L14.6264 11.6607C14.7055 11.4566 14.8529 11.2847 15.0453 11.1763C15.2653 11.0523 15.5258 11.0211 15.7689 11.0894C16.4668 11.2855 16.7931 11.2331 16.9037 11.1851C16.9384 11.17 16.9535 11.1555 16.9701 11.1294C16.9932 11.0928 17.0355 11.0029 17.056 10.8189L17.0736 10.5708C17.0934 10.0011 16.9611 9.49344 16.7914 9.12259C16.7185 8.96325 16.6453 8.84357 16.5863 8.76321C16.3649 8.75133 16.083 8.72418 15.8119 8.65286C15.6066 8.59885 15.3267 8.50127 15.0805 8.30521C14.8728 8.13985 14.6824 7.89625 14.6019 7.5806C14.5733 7.56868 14.5408 7.55347 14.5023 7.54056C14.2047 7.44076 13.7629 7.37459 13.3168 7.37454C12.9499 7.37454 12.6199 7.31277 12.3265 7.14896C12.1853 7.07003 12.0805 6.98229 12.0072 6.91458C11.9969 6.90503 11.9873 6.89522 11.9779 6.88626Z"/><path d="M13.2212 16.4893C13.1189 17.0039 12.6186 17.3377 12.1041 17.2354C11.5898 17.1329 11.2559 16.6335 11.358 16.1192L13.2212 16.4893ZM14.7496 11.9424C15.1953 11.6661 15.7806 11.8035 16.0572 12.249C16.3338 12.6948 16.1972 13.2809 15.7515 13.5576C15.528 13.6963 15.2581 13.8838 15.0162 14.0791C14.8243 14.234 14.6822 14.3679 14.5933 14.4668L14.522 14.5537C14.3303 14.8212 14.1484 15.0614 13.9878 15.2735C13.8239 15.49 13.6876 15.6706 13.5709 15.8369C13.3288 16.1816 13.2458 16.3657 13.2212 16.4893L12.2896 16.3037L11.358 16.1192C11.4637 15.5874 11.7443 15.1313 12.0162 14.7442C12.1563 14.5446 12.3149 14.336 12.4732 14.127C12.6349 13.9135 12.8027 13.691 12.9781 13.4463L13.066 13.3311C13.2822 13.0623 13.5658 12.8081 13.8228 12.6006C14.1303 12.3523 14.4646 12.1193 14.7496 11.9424Z"/></svg>;
}

const IconMemoryWebapp = React.forwardRef(IconMemoryWebappComponent);
export default IconMemoryWebapp;
