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

export const IconAzureBlobStorage16 = 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}
                <g fill={color}>
                    <path d="M7.486 9.384l-.012.13c-.01.11-.019.218-.032.325a.607.607 0 01-.05.158c-.033.077-.096.117-.18.127-.203.024-.274-.078-.315-.25-.054-.226-.049-.457-.037-.688l.001-.017a.826.826 0 01.04-.256.85.85 0 01.065-.142c.083-.138.32-.125.399-.02a.43.43 0 01.074.186c.016.107.026.215.035.322l.012.125zM8.575 6.053c-.06.178-.065.362-.062.56-.006.176.004.363.062.545.026.082.075.146.16.162.097.017.194.02.268-.066a.489.489 0 00.11-.27 2.8 2.8 0 000-.755.72.72 0 00-.064-.22c-.025-.048-.072-.103-.122-.119-.14-.044-.292-.013-.352.163z" />
                    <path
                        fillRule="evenodd"
                        d="M9.827 4.895v1.173h1.157c0 .015.002.029.003.042.003.027.005.05.005.074v4.434c0 .083 0 .165-.04.242-.07.136-.172.224-.33.236l-.043.003c-.067.005-.134.01-.2.01H5.54c-.075 0-.15-.005-.223-.019a.397.397 0 01-.314-.347 1.194 1.194 0 01-.004-.12V5.386c0-.103.005-.2.064-.293A.432.432 0 015.38 4.9c.037-.006.076-.006.114-.005H9.827zM6.434 9.533l-.008-.114c.004-.202.021-.402.088-.593.073-.212.201-.377.432-.446.197-.06.391-.05.574.031a.5.5 0 01.278.294c.108.307.126.62.09.94-.015.135-.04.267-.09.394a.61.61 0 01-.538.406c-.11.012-.219.01-.325-.013a.542.542 0 01-.373-.294 1.044 1.044 0 01-.107-.36 3.931 3.931 0 01-.021-.245zm3.123-3.07l.013.118c-.01.206-.031.407-.096.602-.075.225-.214.391-.453.446-.233.053-.464.044-.666-.11a.585.585 0 01-.198-.325 2.319 2.319 0 01-.049-.89.986.986 0 01.162-.486.655.655 0 01.516-.272c.13-.008.256.011.375.06.074.03.138.077.19.142.112.14.166.3.18.476.007.08.017.16.026.239zM9.5 10.215a.307.307 0 01-.047.201l-.024.002c-.02.001-.042.003-.064.003h-.312c-.23-.001-.46-.002-.691.002-.1.001-.129-.036-.129-.124v-.037-.066c.005-.064.028-.086.095-.088.058-.002.116-.002.174-.001h.158c.022-.076.029-1.18.01-1.32a.727.727 0 01-.025.01.297.297 0 00-.051.02l-.092.055c-.04.024-.082.049-.124.072a.258.258 0 01-.08.024c-.037.005-.063-.01-.065-.049a1.552 1.552 0 01.001-.176c.002-.02.019-.045.037-.06.03-.025.064-.046.098-.068l.016-.01.093-.059c.058-.036.117-.071.172-.111a.399.399 0 01.246-.07c.042 0 .083.006.128.011l.068.008v1.714l.05.004.08.005h.169c.078.003.104.03.11.108zM7.44 5.58v1.727l.001.001H7.721c.092 0 .11.015.115.106a.805.805 0 01-.012.156c-.005.035-.03.053-.067.052h-1.04c-.105 0-.115-.01-.126-.114a.335.335 0 01-.003-.028c-.007-.155.01-.173.163-.173h.206c.06-.002.069-.01.07-.072v-.227V5.991L7 5.997a.256.256 0 00-.045.017 6.093 6.093 0 00-.103.057 4.65 4.65 0 01-.133.073c-.022.012-.047.019-.072.026l-.033.01a.346.346 0 01-.022-.242.13.13 0 01.051-.072c.133-.09.267-.179.405-.263a.25.25 0 01.088-.027.912.912 0 00.026-.005c.055-.011.107-.005.162 0 .037.005.075.01.116.008z"
                        clipRule="evenodd"
                    />
                    <path
                        fillRule="evenodd"
                        d="M14.849 8.259L15 8.004l-.057-.1-.155-.268-.107-.181a122.096 122.096 0 01-.376-.65 120.445 120.445 0 00-.677-1.165l-.151-.254-.225-.382c-.08-.136-.158-.273-.237-.41l-.156-.27a157.852 157.852 0 00-.68-1.164l-.113-.19-.085-.143-.17-.286-.018-.032a21.755 21.755 0 01-.258-.449c-.025-.044-.054-.063-.104-.058a.372.372 0 01-.066 0H6.198c-.54 0-1.08 0-1.62-.002-.069 0-.105.023-.138.082-.163.29-.33.577-.497.865l-.083.144-.39.67-.192.325a109.22 109.22 0 00-.795 1.363l-.199.344a56.291 56.291 0 01-.37.628l-.162.275-.161.275-.107.18-.17.288c-.1.17-.199.341-.297.512-.018.03-.026.058-.004.094.042.07.082.14.122.21l.087.15.13.218c.061.102.122.203.181.305.068.117.134.235.201.353.08.143.16.285.243.426l.303.51.215.363.157.271a41.4 41.4 0 00.3.515l.188.323.487.837.117.203c.06.106.121.212.183.317l.175.296c.109.185.218.37.325.556.041.072.085.102.173.102 1.49-.003 2.979-.002 4.468-.002h2.348c.058 0 .094-.012.126-.068.191-.34.388-.679.585-1.016.091-.158.184-.315.277-.472l.257-.436.34-.586.298-.516a108.318 108.318 0 01.71-1.2c.072-.122.141-.245.211-.368.076-.134.152-.268.23-.4.132-.226.265-.451.399-.677zM4.477 10.614V5.395c0-.133.01-.263.057-.39a.94.94 0 01.377-.468c.178-.116.376-.158.586-.158h.811c1.217 0 2.434 0 3.65-.002.079 0 .128.029.177.08.057.06.116.117.175.175l.095.093.095.096c.055.056.11.112.167.166l.287.277.287.277.112.113.123.123c.03.028.038.06.038.098v4.732c0 .036 0 .072-.002.107a.926.926 0 01-.492.784 1.023 1.023 0 01-.53.12H5.486a1 1 0 01-.403-.064.952.952 0 01-.605-.94z"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
