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

export const Abstract45: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Abstract45(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 23 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="M11.4942 14.5512C13.217 14.5512 14.6198 13.1551 14.6198 11.441C14.6198 9.72685 13.217 8.33077 11.4942 8.33077C9.77145 8.33077 8.36867 9.72685 8.36867 11.441C8.36867 13.1551 9.77145 14.5512 11.4942 14.5512ZM22.0897 15.8959C21.511 17.2596 20.6812 18.4823 19.6253 19.5337C18.5694 20.585 17.341 21.4097 15.9708 21.9849C14.5527 22.5811 13.0465 22.8839 11.4942 22.8839C10.4268 22.8839 9.37859 22.7411 8.36867 22.4573V23.9962H7.76121V11.441C7.76121 9.39164 9.43609 7.7232 11.4962 7.7232C13.5562 7.7232 15.2311 9.39164 15.2311 11.441C15.2311 13.4904 13.5562 15.1569 11.4962 15.1569C10.1892 15.1569 9.03748 14.4865 8.37059 13.4713V14.5455C9.17162 15.3435 10.2774 15.8387 11.4962 15.8387C13.9338 15.8387 15.9152 13.8656 15.9152 11.441C15.9152 9.01643 13.9318 7.04325 11.4962 7.04325C9.06049 7.04325 7.07706 9.01643 7.07706 11.441V23.9962H6.46767V11.441C6.46767 10.104 6.99082 8.84692 7.93941 7.90223C8.88992 6.95755 10.1528 6.43759 11.4962 6.43759C12.8395 6.43759 14.1024 6.95755 15.0529 7.90223C16.0034 8.84692 16.5247 10.104 16.5247 11.441C16.5247 12.778 16.0015 14.0351 15.0529 14.9798C14.1024 15.9245 12.8395 16.4463 11.4962 16.4463C10.3464 16.4463 9.25594 16.0654 8.37059 15.3626V16.1987C9.26936 16.7853 10.3425 17.1282 11.4962 17.1282C14.6466 17.1282 17.2088 14.5779 17.2088 11.4429C17.2088 8.30791 14.6466 5.75764 11.4962 5.75764C8.34569 5.75764 5.78352 8.30791 5.78352 11.4429V23.9981H5.17414V11.4429C5.17414 9.76113 5.83145 8.18221 7.02533 6.99373C8.21922 5.80525 9.80786 5.15007 11.4962 5.15007C13.1845 5.15007 14.7731 5.80525 15.967 6.99373C17.1609 8.18221 17.8182 9.76113 17.8182 11.4429C17.8182 13.1247 17.1609 14.7036 15.967 15.8921C14.7731 17.0805 13.1845 17.7357 11.4962 17.7357C10.3828 17.7357 9.31152 17.4519 8.37059 16.9148V17.6843C9.31152 18.1528 10.3732 18.4176 11.4962 18.4176C15.3595 18.4176 18.5042 15.2883 18.5042 11.4448C18.5042 7.6013 15.3614 4.47203 11.4962 4.47203C7.63089 4.47203 4.48807 7.6013 4.48807 11.4448V24H3.87868V11.4448C3.87868 10.422 4.0799 9.42782 4.47658 8.49456C4.85985 7.59178 5.40985 6.78042 6.10932 6.08523C6.80878 5.39005 7.62323 4.84343 8.53158 4.4606C9.47059 4.06444 10.469 3.86446 11.4962 3.86446C12.5233 3.86446 13.5217 4.06444 14.4607 4.4606C15.3672 4.84152 16.1835 5.38815 16.8811 6.08523C17.5806 6.78042 18.1306 7.59178 18.5138 8.49456C18.9105 9.42973 19.1117 10.422 19.1117 11.4448C19.1117 12.4676 18.9105 13.4599 18.5138 14.3951C18.1306 15.2978 17.5806 16.1092 16.8811 16.8044C16.1816 17.4996 15.3672 18.0462 14.4607 18.429C13.5217 18.8252 12.5233 19.0252 11.4962 19.0252C10.469 19.0252 9.47059 18.8252 8.53158 18.429C8.47792 18.4062 8.42425 18.3833 8.37059 18.3585V19.0975C9.33643 19.488 10.3923 19.7051 11.4962 19.7051C16.0743 19.7051 19.7978 15.9987 19.7978 11.4448C19.7978 6.89088 16.0743 3.18261 11.4962 3.18261C6.91801 3.18261 3.19454 6.88898 3.19454 11.4448V24H2.58707V11.4448C2.58707 10.2487 2.82278 9.0869 3.28654 7.99365C3.73688 6.93659 4.37694 5.99 5.19713 5.17483C6.01541 4.36156 6.96784 3.72161 8.0295 3.27593C9.12757 2.81311 10.2946 2.57884 11.4981 2.57884C12.7015 2.57884 13.8686 2.81311 14.9667 3.27593C16.0283 3.72352 16.9808 4.36156 17.799 5.17483C18.6173 5.99 19.2593 6.93659 19.7077 7.99365C20.1734 9.0869 20.4072 10.2487 20.4072 11.4448C20.4072 12.6409 20.1715 13.8027 19.7077 14.896C19.2593 15.9511 18.6173 16.8996 17.799 17.7148C16.9808 18.53 16.0283 19.168 14.9667 19.6156C13.8686 20.0784 12.7015 20.3127 11.4981 20.3127C10.4192 20.3127 9.36901 20.1241 8.37251 19.7508V20.4727C9.35368 20.8098 10.4038 20.9926 11.4981 20.9926C16.7891 20.9926 21.0932 16.7092 21.0932 11.4429C21.0932 6.17666 16.7891 1.89318 11.4981 1.89318C6.20705 1.89318 1.90292 6.17666 1.90292 11.4429V23.9981H1.29353V11.4448C1.29353 10.0716 1.56373 8.74026 2.09647 7.48893C2.61005 6.2795 3.34594 5.19388 4.28303 4.26062C5.22012 3.32736 6.31053 2.59598 7.5255 2.08364C8.78454 1.55416 10.1202 1.28561 11.4981 1.28561C12.8759 1.28561 14.2116 1.55416 15.4707 2.08364C16.6856 2.59408 17.778 3.32736 18.7131 4.26062C19.6502 5.19197 20.3861 6.2795 20.8997 7.48893C21.4324 8.74026 21.7026 10.0716 21.7026 11.4429C21.7026 12.8142 21.4324 14.1436 20.8997 15.395C20.3861 16.6044 19.6502 17.69 18.7131 18.6233C17.776 19.5546 16.6856 20.2879 15.4707 20.8003C14.2116 21.3297 12.8759 21.5983 11.4981 21.5983C10.4249 21.5983 9.37667 21.4345 8.37251 21.1126V21.8249C9.36326 22.1201 10.4134 22.2801 11.4981 22.2801C17.502 22.2801 22.3868 17.4196 22.3868 11.4429C22.3868 5.46624 17.502 0.605671 11.4981 0.605671C5.49417 0.605671 0.609385 5.46624 0.609385 11.4429V23.9981H0V11.4429C0 9.89826 0.304694 8.39933 0.90451 6.98802C1.48325 5.62432 2.31302 4.40155 3.36893 3.35021C4.42484 2.29886 5.65323 1.47417 7.02342 0.898976C8.44151 0.302833 9.94776 0 11.5 0C13.0522 0 14.5585 0.302833 15.9766 0.898976C17.3468 1.47607 18.5751 2.30077 19.631 3.35021C20.687 4.40155 21.5167 5.62432 22.0955 6.98802C22.6953 8.39933 23 9.89826 23 11.4429C23 12.9875 22.6953 14.4865 22.0955 15.8978L22.0897 15.8959ZM11.4942 14.5512C9.77145 14.5512 8.36867 13.1551 8.36867 11.441C8.36867 9.72685 9.77145 8.33077 11.4942 8.33077C13.217 8.33077 14.6198 9.72685 14.6198 11.441C14.6198 13.1551 13.217 14.5512 11.4942 14.5512Z"
        fill="currentColor"
      />
    </svg>
  );
});

Abstract45.displayName = "Abstract45";

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

export default Abstract45;
