import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconAwsCloudwatch24 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={24}
                height={24}
                fill="none"
                viewBox="0 0 24 24"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <g fill={color}>
                    <path d="m9.346 2.006.041.013.164.066a19 19 0 0 0 .566.217l.244.09.206.082a12 12 0 0 0 .456.175l.222.082.215.085.225.09.243.089.208.076q.278.105.554.212l.19.076a15 15 0 0 0 .43.166q.099.035.196.072.12.045.237.094l.252.099q.112.043.226.083.11.04.22.081l.21.084a12 12 0 0 0 .473.18q.113.04.223.082l.21.084q.103.042.209.083.122.046.246.09l.207.077q.107.04.218.085l.069.027c0 1.332-.002 2.48-.003 3.626C16.5 9.519 16.5 10.667 16.5 12l-7 .456v4.46l-.176.035V2zM21 17.57q-.035.011-.068.027l-8.836 4.338a.5.5 0 0 1-.088.034l-.002-.014V18.88l.295-.102.396-.137 2.634-.921.815-.284.813-.282.581-.203h.001l.58-.203 2.225-.773h.002l.544-.189a.2.2 0 0 0 .043-.024l.02-.012.044-.006z" />
                    <path d="M3.02 17.564 3 17.57v-1.81h.015l.03-.002.03-.002.016.01q.018.013.04.021.77.27 1.54.537l1.94.676q1.17.406 2.337.814l3.044 1.063.006.002.009.002v3.075l-.001.004v.004l.002.006-.034-.012-.023-.01-.038-.016-8.852-4.347zM9.324 2v14.951l-.034-.007-.06-.012-1.755-.532-.172-.053-.079-.024v-.4l.002-.075V5.58l-.002-.11V3.026l.02-.011.039-.02 1.979-.973q.022-.01.045-.017zM18.479 12.748H18.2v-.002l-.032-.003-.057-.005h-1.114l-.329.001-.164.001-.165.005-.276.009-.236.011-.092.006-.067.003-.201.013-.208.017-.306.023-.216.012-.135.006-.246.016-.22.017-.3.023q-.099.007-.197.011a11 11 0 0 0-.579.039l-.305.023q-.198.014-.396.024l-.156.009-.261.016h-.001l-.588.042-.132.008-.159.01q-.12.008-.239.018l-.274.021-.225.012-.111.006h-.01c-.017 0-.033-.002-.038.022l.104.014.287.035q.059.006.116.008l.1.007.717.074h.001l.261.03.123.013.08.01.052.007.014-.003.017-.002.065-.01.145-.012.242-.02.242-.026.278-.03q.157-.014.314-.027l.229-.02.455-.044.146-.014.097-.009.097-.009.15-.016.235-.024.168-.014.204-.018.186-.02.185-.02q.105-.01.211-.018l.176-.015.445-.043.149-.015.1-.009.1-.01.19-.019.196-.02.184-.016.188-.016.416-.041.114-.01.228-.022c.007 0 .013-.007.02-.012l.008-.008h.001l-.009.008q-.009.01-.019.012l-.171.016-.337.033-.25.024-.184.017-.188.016-.259.026-.127.013-.1.01-.1.009-.149.015-.638.06q-.098.007-.194.016l-.202.021-.169.018-.372.033-.233.024-.152.016-.097.009-.097.009-.256.025-.57.052-.318.028-.277.03-.243.025q-.12.011-.242.021l-.145.012a1 1 0 0 0-.096.014l-.055-.006-.077-.01-.384-.042-.718-.075-.103-.007q-.057-.003-.112-.008-.158-.018-.316-.039l-.076-.01-.079-.003v3.537q0 .036-.002.072v.396l.006.002.066.021 1.433.424.27.077.146.041.062-.016q.063-.015.125-.032l1.009-.3q.418-.125.835-.246l.005-.002 1.057-.312.422-.125.595-.176.008-.002.593-.175.483-.144h.001l.482-.144.723-.212h.002c.071-.02.071-.02.072-.095l.004-.36-.002-.025q-.003-.035-.004-.07zM6.22 16.021l.108.031.014.001-.002-.013.001-.001.001-.074V5.297l-.027.004q-.027.002-.053.01l-1.356.512q-.088.033-.088.129v9.44l-.003.073-.002.029.008.098.022.007.049.016 1.113.344z" />
                </g>
            </svg>
        );
    }
);
