package net.thunderbird.core.ui.compose.designsystem.atom.icon.outlined

import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview
import net.thunderbird.core.ui.compose.designsystem.atom.icon.Icon
import net.thunderbird.core.ui.compose.designsystem.atom.icon.icon
import net.thunderbird.core.ui.compose.designsystem.atom.icon.iconPath

@Suppress("MagicNumber")
internal val OutlinedAccountIcon: ImageVector by lazy {
    icon(
        name = "OutlinedAccountIcon",
        viewportWidth = 960.0f,
        viewportHeight = 960.0f,
    ) {
        iconPath {
            moveTo(x = 200.0f, y = 714.0f)
            quadToRelative(
                dx1 = 54.0f,
                dy1 = -53.0f,
                dx2 = 125.5f,
                dy2 = -83.5f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 600.0f,
            )
            quadToRelative(
                dx1 = 83.0f,
                dy1 = 0.0f,
                dx2 = 154.5f,
                dy2 = 30.5f,
            )
            reflectiveQuadTo(
                x1 = 760.0f,
                y1 = 714.0f,
            )
            lineToRelative(dx = 0.0f, dy = -514.0f)
            lineTo(x = 200.0f, y = 200.0f)
            lineToRelative(dx = 0.0f, dy = 514.0f)
            close()
            moveToRelative(dx = 280.0f, dy = -194.0f)
            quadToRelative(
                dx1 = 58.0f,
                dy1 = 0.0f,
                dx2 = 99.0f,
                dy2 = -41.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 41.0f,
                dy1 = -99.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -58.0f,
                dx2 = -41.0f,
                dy2 = -99.0f,
            )
            reflectiveQuadToRelative(
                dx1 = -99.0f,
                dy1 = -41.0f,
            )
            quadToRelative(
                dx1 = -58.0f,
                dy1 = 0.0f,
                dx2 = -99.0f,
                dy2 = 41.0f,
            )
            reflectiveQuadToRelative(
                dx1 = -41.0f,
                dy1 = 99.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 58.0f,
                dx2 = 41.0f,
                dy2 = 99.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 99.0f,
                dy1 = 41.0f,
            )
            close()
            moveTo(x = 200.0f, y = 840.0f)
            quadToRelative(
                dx1 = -33.0f,
                dy1 = 0.0f,
                dx2 = -56.5f,
                dy2 = -23.5f,
            )
            reflectiveQuadTo(
                x1 = 120.0f,
                y1 = 760.0f,
            )
            lineToRelative(dx = 0.0f, dy = -560.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -33.0f,
                dx2 = 23.5f,
                dy2 = -56.5f,
            )
            reflectiveQuadTo(
                x1 = 200.0f,
                y1 = 120.0f,
            )
            lineToRelative(dx = 560.0f, dy = 0.0f)
            quadToRelative(
                dx1 = 33.0f,
                dy1 = 0.0f,
                dx2 = 56.5f,
                dy2 = 23.5f,
            )
            reflectiveQuadTo(
                x1 = 840.0f,
                y1 = 200.0f,
            )
            lineToRelative(dx = 0.0f, dy = 560.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 33.0f,
                dx2 = -23.5f,
                dy2 = 56.5f,
            )
            reflectiveQuadTo(
                x1 = 760.0f,
                y1 = 840.0f,
            )
            lineTo(x = 200.0f, y = 840.0f)
            close()
            moveToRelative(dx = 69.0f, dy = -80.0f)
            lineToRelative(dx = 422.0f, dy = 0.0f)
            quadToRelative(
                dx1 = -44.0f,
                dy1 = -39.0f,
                dx2 = -99.5f,
                dy2 = -59.5f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 680.0f,
            )
            quadToRelative(
                dx1 = -56.0f,
                dy1 = 0.0f,
                dx2 = -112.5f,
                dy2 = 20.5f,
            )
            reflectiveQuadTo(
                x1 = 269.0f,
                y1 = 760.0f,
            )
            close()
            moveToRelative(dx = 211.0f, dy = -320.0f)
            quadToRelative(
                dx1 = -25.0f,
                dy1 = 0.0f,
                dx2 = -42.5f,
                dy2 = -17.5f,
            )
            reflectiveQuadTo(
                x1 = 420.0f,
                y1 = 380.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -25.0f,
                dx2 = 17.5f,
                dy2 = -42.5f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 320.0f,
            )
            quadToRelative(
                dx1 = 25.0f,
                dy1 = 0.0f,
                dx2 = 42.5f,
                dy2 = 17.5f,
            )
            reflectiveQuadTo(
                x1 = 540.0f,
                y1 = 380.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 25.0f,
                dx2 = -17.5f,
                dy2 = 42.5f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 440.0f,
            )
            close()
            moveToRelative(dx = 0.0f, dy = 17.0f)
            close()
        }
    }
}

@Preview(showBackground = true)
@Composable
private fun Preview() {
    Icon(imageVector = OutlinedAccountIcon, contentDescription = null)
}
