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

export const IconFingerprint16 = 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={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill={color}
                    fillRule="evenodd"
                    d="M7.343 12.711c.16-.381.6-.56.981-.402.381.16.562.6.402.981a23 23 0 0 1-1.088 2.244.753.753 0 0 1-1.019.29.753.753 0 0 1-.291-1.019 22 22 0 0 0 1.015-2.094m4.188-4.333a.751.751 0 0 1 1.463.332c-.57 2.504-1.25 4.627-2.178 6.609a.753.753 0 0 1-.997.361.753.753 0 0 1-.361-.997c.87-1.86 1.52-3.875 2.073-6.305m-5.795.625a.75.75 0 0 1 .926-.517c.398.113.63.528.517.926-.53 1.873-1.146 3.385-1.93 4.794q-.085.154-.174.307a.753.753 0 0 1-1.024.274.754.754 0 0 1-.274-1.025q.082-.142.161-.284c.72-1.296 1.295-2.697 1.798-4.475m7.872 2.292a.752.752 0 0 1 1.444.411 35 35 0 0 1-.833 2.556.75.75 0 0 1-.964.441.753.753 0 0 1-.443-.963q.435-1.174.796-2.445m-11.422-.428a.75.75 0 0 1 1.372.604c-.218.497-.45.962-.698 1.408a.753.753 0 0 1-1.02.292.754.754 0 0 1-.291-1.02 16 16 0 0 0 .637-1.283m4.899-4.989a2.117 2.117 0 0 1 3.244 2.226c-.212.932-.438 1.8-.685 2.614a.753.753 0 0 1-.934.501.754.754 0 0 1-.501-.935c.234-.776.452-1.609.657-2.512a.618.618 0 0 0-.945-.649.754.754 0 0 1-1.041-.204.753.753 0 0 1 .205-1.04M4.925.828a7.584 7.584 0 0 1 10.734 8.49.75.75 0 0 1-.897.563.754.754 0 0 1-.566-.897 6.084 6.084 0 0 0-8.61-6.81.754.754 0 0 1-1.004-.343.753.753 0 0 1 .343-1.004m-2.699 2.22a.75.75 0 0 1 1.051-.144c.329.25.393.721.143 1.05a6.1 6.1 0 0 0-1.086 2.332 27 27 0 0 1-.812 2.9.753.753 0 0 1-.956.46.753.753 0 0 1-.46-.954c.262-.747.514-1.636.765-2.739a7.6 7.6 0 0 1 1.355-2.906m1.31 3.512a4.851 4.851 0 0 1 9.177-.859.75.75 0 0 1-.388.988.754.754 0 0 1-.987-.389 3.352 3.352 0 0 0-6.339.593 34 34 0 0 1-.543 2.098.753.753 0 0 1-.933.506.754.754 0 0 1-.506-.932c.179-.602.35-1.266.519-2.005"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
