import * as React from "react";
import type { IconProps, IconMetadata, IconComponent } from "../../types";

export const Abstract38: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Abstract38(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      className={className}
      strokeWidth={strokeWidth}
      strokeLinecap={strokeLinecap}
      strokeLinejoin={strokeLinejoin}
      strokeDasharray={strokeDasharray}
      opacity={opacity}
      {...props}
      ref={forwardedRef}
    >
      <path
        d="M22.0145 11.5003C20.0667 11.5003 18.2531 10.9091 16.7418 9.90035C17.0403 8.58371 17.6108 7.36907 18.391 6.32255C19.1222 5.75962 19.7777 5.10413 20.3407 4.37308C20.5315 4.22951 20.728 4.0935 20.932 3.96505C22.7021 5.92774 23.8319 8.47981 23.9962 11.2907C23.3558 11.4286 22.6946 11.5022 22.0126 11.5022L22.0145 11.5003ZM20.9339 20.0387C20.7298 19.9103 20.5334 19.7743 20.3426 19.6307C19.7796 18.8996 19.124 18.2442 18.3929 17.6793C17.6127 16.6328 17.0403 15.4182 16.7437 14.1015C18.255 13.0928 20.0686 12.5015 22.0164 12.5015C22.6984 12.5015 23.3596 12.5733 24 12.7112C23.8356 15.5221 22.7059 18.0741 20.9358 20.0368L20.9339 20.0387ZM19.6285 3.65714C18.8974 4.22007 18.2399 4.87556 17.6769 5.6085C16.6303 6.38867 15.4156 6.96103 14.0989 7.25761C13.09 5.74451 12.4987 3.93294 12.4987 1.98347C12.4987 1.30342 12.5724 0.640378 12.7084 0C15.5214 0.166234 18.0718 1.29397 20.0365 3.06588C19.908 3.268 19.7701 3.46635 19.6285 3.65714ZM12.7103 24C12.5724 23.3596 12.5006 22.6985 12.5006 22.0165C12.5006 20.0689 13.0919 18.2555 14.1008 16.7424C15.4175 17.0408 16.6322 17.6113 17.6788 18.3915C18.2418 19.1225 18.8974 19.7799 19.6304 20.3428C19.772 20.5336 19.9099 20.7301 20.0384 20.9341C18.0756 22.7041 15.5233 23.8338 12.7103 24ZM16.5604 13.0267C16.5245 12.6885 16.5057 12.3466 16.5057 11.9991C16.5057 11.6515 16.5264 11.3115 16.5604 10.9733C17.2613 11.3983 18.0151 11.744 18.8104 11.9991C18.017 12.2541 17.2632 12.5998 16.5604 13.0267ZM15.8728 9.24486C15.4704 8.90484 15.0963 8.53081 14.7563 8.12845C15.3722 7.96033 15.9673 7.73742 16.534 7.46729C16.2639 8.034 16.0409 8.62904 15.8728 9.24486ZM14.7563 15.8734C15.0963 15.4711 15.4704 15.097 15.8728 14.757C16.0409 15.3728 16.2639 15.9679 16.534 16.5346C15.9673 16.2645 15.3722 16.0416 14.7563 15.8734ZM15.6366 13.6633C14.8942 14.2319 14.2292 14.8949 13.6606 15.6392C13.1165 15.5504 12.5649 15.507 11.9981 15.507C11.4314 15.507 10.8797 15.5523 10.3356 15.6392C9.76699 14.8949 9.1039 14.2319 8.35957 13.6633C8.44647 13.1192 8.49181 12.5658 8.49181 12.0009C8.49181 11.4361 8.44647 10.8826 8.35957 10.3386C9.10201 9.77001 9.76699 9.10696 10.3356 8.36269C10.8797 8.45147 11.4314 8.49492 11.9981 8.49492C12.5649 8.49492 13.1165 8.44958 13.6606 8.36269C14.2292 9.10696 14.8923 9.77001 15.6366 10.3386C15.5497 10.8826 15.5044 11.4361 15.5044 12.0009C15.5044 12.5658 15.5497 13.1211 15.6366 13.6633ZM11.9981 7.49374C11.6524 7.49374 11.3105 7.47296 10.9723 7.43895C11.3974 6.73813 11.7431 5.98441 11.9981 5.19102C12.2531 5.98441 12.5989 6.73813 13.0258 7.43895C12.6877 7.47485 12.3438 7.49374 11.9981 7.49374ZM11.9981 18.8109C11.7431 18.0175 11.3974 17.2637 10.9723 16.5629C11.3105 16.527 11.6524 16.5081 11.9981 16.5081C12.3438 16.5081 12.6858 16.5289 13.0258 16.5629C12.6008 17.2637 12.255 18.0175 11.9981 18.8109ZM9.89736 7.2595C8.5806 6.96104 7.36587 6.39055 6.31927 5.61039C5.7563 4.87933 5.10075 4.22196 4.36965 3.65903C4.22607 3.46824 4.08815 3.27178 3.96158 3.06777C5.92443 1.29775 8.4767 0.168119 11.2897 0.0018851C11.4276 0.642263 11.4994 1.30342 11.4994 1.98536C11.4994 3.93294 10.9081 5.7464 9.89923 7.2595H9.89736ZM11.2878 24C8.47481 23.8338 5.92442 22.706 3.95969 20.9341C4.08815 20.732 4.22607 20.5336 4.36776 20.3428C5.09886 19.7799 5.75441 19.1244 6.31738 18.3915C7.36398 17.6113 8.57871 17.039 9.89546 16.7424C10.9043 18.2555 11.4956 20.0671 11.4956 22.0165C11.4956 22.6966 11.4219 23.3596 11.2859 24H11.2878ZM8.12531 9.24486C7.95718 8.62904 7.73426 8.034 7.46411 7.46729C8.03086 7.73742 8.62594 7.96033 9.24181 8.12845C8.90176 8.53081 8.52771 8.90484 8.12531 9.24486ZM7.46411 16.5365C7.73426 15.9698 7.95718 15.3747 8.12531 14.7589C8.52771 15.0989 8.90176 15.473 9.24181 15.8753C8.62594 16.0434 8.03086 16.2664 7.46411 16.5365ZM7.43576 13.0267C6.73488 12.6016 5.98111 12.256 5.18577 11.9991C5.97922 11.744 6.73299 11.3983 7.43576 10.9733C7.47166 11.3115 7.49054 11.6534 7.49054 11.9991C7.49054 12.3447 7.46977 12.6885 7.43576 13.0267ZM1.98363 11.5003C1.30164 11.5003 0.640428 11.4267 0 11.2888C0.164358 8.47792 1.29407 5.92585 3.06423 3.96316C3.26826 4.09161 3.46473 4.22762 3.65554 4.37119C4.21851 5.10224 4.87405 5.75773 5.60516 6.32066C6.38539 7.36718 6.9578 8.58182 7.2544 9.89846C5.74306 10.9072 3.92947 11.4985 1.98174 11.4985L1.98363 11.5003ZM5.60516 17.6793C4.87405 18.2442 4.21851 18.8996 3.65554 19.6307C3.46473 19.7743 3.26826 19.9103 3.06423 20.0387C1.29407 18.076 0.164358 15.524 0 12.7131C0.640428 12.5752 1.30164 12.5034 1.98363 12.5034C3.93136 12.5034 5.74496 13.0947 7.25629 14.1034C6.95969 15.4201 6.38728 16.6347 5.60705 17.6812L5.60516 17.6793Z"
        fill="currentColor"
      />
    </svg>
  );
});

Abstract38.displayName = "Abstract38";

Abstract38.metadata = {
  name: "Abstract38",
  category: "shapes/abstract",
  tags: ["abstract", "38", "icon"],
  description: "Abstract38 icon from shapes/abstract category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Abstract38;
