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

export const Abstract57: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Abstract57(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 21 23"
      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="M10.4967 13.1598C9.5502 13.1598 8.78221 12.4166 8.78221 11.5C8.78221 10.5834 9.5502 9.84019 10.4967 9.84019C11.4432 9.84019 12.2112 10.5834 12.2112 11.5C12.2112 12.4166 11.4432 13.1598 10.4967 13.1598ZM20.1813 6.08415C19.4078 4.78953 14.5729 5.57105 8.86588 8.76286C6.22902 10.2364 3.93992 11.9309 2.41694 13.5341C1.02598 15.0004 0.425347 16.264 0.813995 16.9159C1.20264 17.5677 2.63078 17.6974 4.6391 17.2628C6.83153 16.788 9.49256 15.7144 12.1294 14.239C17.8364 11.0472 20.953 7.38059 20.1813 6.08597V6.08415ZM12.4753 14.8178C9.77893 16.3242 7.05097 17.4253 4.7916 17.9147C3.9455 18.0973 3.20166 18.1904 2.56755 18.1904C1.38673 18.1904 0.588973 17.8745 0.21706 17.25C-0.355685 16.2895 0.230095 14.8488 1.90928 13.0795C3.47689 11.4288 5.8255 9.69045 8.52187 8.18219C13.5074 5.39392 19.4951 3.59535 20.782 5.75C22.0669 7.90465 17.4626 12.0295 12.4772 14.8178H12.4753ZM12.1294 8.76286C9.49256 7.28747 6.83153 6.21379 4.6391 5.73903C3.85437 5.56922 3.1589 5.48522 2.57686 5.48522C1.67311 5.48522 1.05016 5.68791 0.813995 6.08415C0.425347 6.73602 1.02412 7.9996 2.41694 9.46586C3.93992 11.0672 6.22902 12.7617 8.86588 14.2371C14.571 17.4289 19.4078 18.2105 20.1813 16.914C20.953 15.6194 17.8364 11.9528 12.1294 8.76286ZM20.7782 17.25C20.384 17.9128 19.5398 18.2013 18.4184 18.2013C15.8969 18.2013 11.9676 16.746 8.51814 14.8178C5.82178 13.3095 3.47317 11.5712 1.90556 9.92053C0.226373 8.15298 -0.359385 6.71046 0.21336 5.75C0.784246 4.79136 2.36487 4.55946 4.78788 5.08534C7.04724 5.5747 9.77707 6.67576 12.4716 8.18219C17.4552 10.9705 22.0613 15.0935 20.7764 17.25H20.7782ZM10.4967 0.670119C8.95329 0.670119 7.2332 5.11821 7.2332 11.5C7.2332 17.8818 8.95329 22.3299 10.4967 22.3299C12.0402 22.3299 13.7603 17.8818 13.7603 11.5C13.7603 5.11821 12.042 0.670119 10.4967 0.670119ZM10.4967 23C7.92867 23 6.54143 17.0747 6.54143 11.5C6.54143 5.92529 7.92681 0 10.4967 0C13.0666 0 14.452 5.92529 14.452 11.5C14.452 17.0747 13.0666 23 10.4967 23Z"
        fill="currentColor"
      />
    </svg>
  );
});

Abstract57.displayName = "Abstract57";

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

export default Abstract57;
