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

export const UnionPay: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function UnionPay(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 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="M20.25 5.25H3.75C2.50736 5.25 1.5 6.25736 1.5 7.5V16.5C1.5 17.7426 2.50736 18.75 3.75 18.75H20.25C21.4926 18.75 22.5 17.7426 22.5 16.5V7.5C22.5 6.25736 21.4926 5.25 20.25 5.25Z"
        fill="#fff"
      />
      <path
        d="M6.89475 6.75H11.0843C11.6693 6.75 12.033 7.227 11.8965 7.81425L9.94575 16.188C9.80775 16.7737 9.22275 17.25 8.63775 17.25H4.44825C3.86325 17.25 3.4995 16.773 3.636 16.188L5.5875 7.81425C5.72325 7.227 6.30825 6.75 6.89475 6.75Z"
        fill="#ed171f"
      />
      <path
        d="M10.7355 6.75H15.5535C16.1385 6.75 15.8745 7.227 15.7373 7.81425L13.7865 16.188C13.65 16.7737 13.6928 17.25 13.107 17.25H8.28975C7.704 17.25 7.341 16.773 7.479 16.188L9.429 7.81425C9.567 7.227 10.1505 6.75 10.7355 6.75Z"
        fill="#082f67"
      />
      <path
        d="M15.363 6.75H19.5517C20.1367 6.75 20.5005 7.227 20.3632 7.81425L18.4125 16.188C18.2752 16.7737 17.6902 17.25 17.1037 17.25H12.9157C12.3292 17.25 11.9662 16.773 12.1042 16.188L14.0542 7.81425C14.1915 7.227 14.7765 6.75 15.363 6.75Z"
        fill="#006a65"
      />
      <path
        d="M14.6632 14.6279H15.0585L15.1725 14.2484H14.7772L14.6632 14.6279ZM14.979 13.5801L14.8432 14.0294C14.8432 14.0294 14.9932 13.9521 15.0742 13.9289C15.1552 13.9101 15.2782 13.8951 15.2782 13.8951L15.3742 13.5809L14.979 13.5801ZM15.1755 12.9336L15.0442 13.3656C15.0442 13.3656 15.1912 13.2996 15.2715 13.2771C15.3525 13.2561 15.4747 13.2479 15.4747 13.2479L15.5692 12.9336H15.1755ZM16.0492 12.9336L15.5385 14.6234H15.6757L15.57 14.9729H15.4327L15.4012 15.0816H14.9152L14.9482 14.9729H13.9605L14.0595 14.6496H14.1592L14.6775 12.9344L14.781 12.5879H15.2767L15.225 12.7634C15.225 12.7634 15.357 12.6681 15.4822 12.6359C15.6075 12.6029 16.326 12.5909 16.326 12.5909L16.2195 12.9351H16.05L16.0492 12.9336Z"
        fill="#fff"
        fillRule="evenodd"
        clipRule="evenodd"
      />
      <path
        d="M16.267 12.59H16.796L16.802 12.787C16.799 12.82 16.828 12.836 16.889 12.836H16.996L16.898 13.161H16.612C16.364 13.179 16.27 13.073 16.276 12.953L16.266 12.59H16.267ZM16.337 14.134H15.833L15.92 13.843H16.496L16.578 13.579H16.009L16.106 13.252H17.69L17.591 13.579H17.06L16.977 13.843H17.51L17.422 14.134H16.845L16.743 14.256H16.976L17.033 14.621C17.039 14.657 17.041 14.68 17.052 14.696 17.064 14.71 17.134 14.716 17.174 14.716H17.246L17.138 15.071H16.958C16.93 15.071 16.889 15.069 16.832 15.066 16.778 15.061 16.739 15.03 16.703 15.013 16.67 14.996 16.621 14.956 16.61 14.888L16.553 14.524 16.292 14.883C16.208 14.996 16.096 15.082 15.906 15.082H15.539L15.635 14.765H15.775C15.815 14.765 15.851 14.749 15.878 14.736 15.905 14.725 15.929 14.711 15.956 14.671L16.337 14.133 16.337 14.134ZM10.814 13.34H12.149L12.05 13.659H11.516L11.433 13.93H11.979L11.879 14.259H11.333L11.201 14.701C11.185 14.75 11.33 14.757 11.383 14.757L11.657 14.72 11.547 15.083H10.931C10.883 15.083 10.845 15.077 10.791 15.065 10.739 15.052 10.716 15.029 10.694 14.993 10.671 14.957 10.637 14.928 10.661 14.851L10.838 14.266H10.535L10.635 13.931H10.94L11.021 13.661H10.718L10.815 13.342 10.814 13.34ZM11.714 12.767H12.261L12.161 13.1H11.412L11.331 13.17C11.297 13.204 11.285 13.19 11.24 13.214 11.198 13.236 11.108 13.278 10.993 13.278H10.753L10.85 12.958H10.922C10.983 12.958 11.025 12.953 11.045 12.939 11.069 12.924 11.096 12.89 11.126 12.835L11.264 12.585H11.809L11.714 12.767Z"
        fill="#fff"
      />
      <path
        d="M12.7642 13.3154C12.7642 13.3154 12.9135 13.1789 13.1692 13.1346C13.2277 13.1234 13.5915 13.1271 13.5915 13.1271L13.6462 12.9441H12.8752L12.7642 13.3154ZM13.4865 13.4549H12.7215L12.675 13.6094H13.3365C13.4145 13.5996 13.431 13.6109 13.437 13.6071L13.4865 13.4549ZM12.4957 12.5894H12.9622L12.8947 12.8241C12.8947 12.8241 13.0417 12.7064 13.1452 12.6644C13.248 12.6261 13.4805 12.5916 13.4805 12.5916L14.235 12.5879L13.9777 13.4444C13.935 13.5914 13.884 13.6866 13.8525 13.7294C13.824 13.7736 13.7902 13.8104 13.7242 13.8464C13.6605 13.8801 13.6027 13.9004 13.5495 13.9056C13.4992 13.9094 13.4227 13.9116 13.317 13.9124H12.5902L12.3847 14.5904C12.3652 14.6571 12.3562 14.6894 12.369 14.7074C12.3795 14.7239 12.4042 14.7419 12.4387 14.7419L12.759 14.7119L12.6495 15.0839H12.2902C12.1762 15.0839 12.093 15.0816 12.0345 15.0771C11.979 15.0726 11.9212 15.0771 11.883 15.0471C11.8492 15.0179 11.7982 14.9796 11.7997 14.9399C11.8035 14.9031 11.8185 14.8416 11.8425 14.7584L12.4957 12.5909V12.5894Z"
        fill="#fff"
        fillRule="evenodd"
        clipRule="evenodd"
      />
      <path
        d="M13.856 13.972 13.814 14.178C13.795 14.242 13.778 14.291 13.73 14.332 13.68 14.375 13.619 14.421 13.479 14.421L13.22 14.431 13.218 14.665C13.214 14.731 13.232 14.724 13.243 14.734 13.255 14.746 13.265 14.751 13.277 14.755L13.359 14.751 13.607 14.737 13.505 15.076H13.22C13.022 15.076 12.874 15.072 12.825 15.034 12.778 15.004 12.771 14.965 12.773 14.9L12.791 13.993H13.244L13.238 14.179H13.347C13.384 14.179 13.409 14.175 13.425 14.165 13.439 14.155 13.448 14.14 13.456 14.117L13.5 13.972H13.856ZM7.391 9.425C7.374 9.498 7.084 10.84 7.082 10.841 7.019 11.112 6.975 11.306 6.82 11.43 6.732 11.502 6.629 11.538 6.511 11.538 6.32 11.538 6.209 11.444 6.189 11.263L6.185 11.201C6.185 11.201 6.243 10.838 6.244 10.836 6.244 10.836 6.549 9.614 6.603 9.452 6.605 9.443 6.607 9.439 6.608 9.434 6.014 9.44 5.908 9.434 5.901 9.425 5.897 9.437 5.882 9.513 5.882 9.513L5.57 10.89 5.543 11.008 5.492 11.39C5.492 11.502 5.514 11.595 5.558 11.674 5.701 11.923 6.106 11.96 6.335 11.96 6.63 11.96 6.906 11.897 7.093 11.783 7.418 11.591 7.503 11.29 7.579 11.024L7.614 10.887C7.614 10.887 7.928 9.617 7.982 9.452 7.984 9.443 7.985 9.438 7.987 9.434 7.556 9.438 7.43 9.434 7.389 9.425M9.129 11.945C8.918 11.942 8.844 11.942 8.598 11.955L8.588 11.937C8.61 11.843 8.633 11.751 8.654 11.656L8.684 11.527C8.73 11.328 8.775 11.095 8.78 11.026 8.785 10.983 8.798 10.876 8.678 10.876 8.626 10.876 8.573 10.902 8.519 10.926 8.489 11.032 8.429 11.329 8.402 11.466 8.34 11.752 8.336 11.785 8.309 11.926L8.291 11.945C8.074 11.942 7.999 11.942 7.749 11.955L7.737 11.934C7.779 11.764 7.82 11.592 7.861 11.422 7.966 10.961 7.991 10.785 8.02 10.551L8.039 10.537C8.283 10.502 8.342 10.495 8.606 10.441L8.628 10.466 8.588 10.613C8.633 10.587 8.675 10.56 8.721 10.537 8.846 10.475 8.984 10.457 9.06 10.457 9.175 10.457 9.302 10.489 9.354 10.623 9.404 10.742 9.371 10.889 9.305 11.178L9.272 11.325C9.204 11.647 9.193 11.706 9.155 11.926L9.131 11.945H9.129ZM9.985 11.945C9.858 11.945 9.776 11.942 9.697 11.945 9.617 11.945 9.54 11.95 9.422 11.956L9.415 11.945 9.406 11.935C9.439 11.813 9.457 11.77 9.472 11.727 9.489 11.684 9.504 11.641 9.532 11.517 9.569 11.356 9.592 11.243 9.608 11.144 9.625 11.048 9.634 10.967 9.646 10.873L9.656 10.865 9.667 10.856C9.793 10.838 9.874 10.827 9.955 10.814 10.037 10.802 10.121 10.786 10.252 10.761L10.257 10.772 10.261 10.784C10.237 10.883 10.212 10.983 10.188 11.085 10.165 11.186 10.14 11.285 10.118 11.386 10.07 11.598 10.052 11.677 10.04 11.734 10.03 11.788 10.026 11.817 10.007 11.927L9.996 11.937 9.984 11.946 9.985 11.945ZM11.327 11.197C11.316 11.252 11.268 11.455 11.203 11.541 11.158 11.605 11.105 11.643 11.045 11.643 11.029 11.643 10.925 11.643 10.922 11.489 10.921 11.413 10.937 11.333 10.956 11.249 11.012 11.004 11.077 10.798 11.244 10.798 11.375 10.798 11.384 10.951 11.327 11.197ZM11.878 11.22C11.952 10.896 11.895 10.745 11.823 10.652 11.713 10.511 11.519 10.466 11.318 10.466 11.198 10.466 10.91 10.478 10.685 10.687 10.523 10.836 10.448 11.039 10.403 11.234 10.358 11.432 10.306 11.789 10.634 11.922 10.736 11.965 10.881 11.977 10.976 11.977 11.216 11.977 11.463 11.911 11.648 11.714 11.792 11.554 11.857 11.317 11.879 11.219M17.03 11.968C16.775 11.965 16.703 11.965 16.467 11.975L16.451 11.956C16.516 11.715 16.58 11.473 16.637 11.23 16.71 10.912 16.727 10.778 16.752 10.592L16.771 10.576C17.023 10.54 17.093 10.53 17.357 10.482L17.365 10.504C17.317 10.702 17.268 10.901 17.222 11.101 17.126 11.519 17.09 11.732 17.053 11.95L17.03 11.968V11.968Z"
        fill="#fff"
      />
      <path
        d="M16.647 11.225C16.635 11.277 16.587 11.483 16.522 11.568 16.479 11.629 16.376 11.668 16.317 11.668 16.301 11.668 16.197 11.668 16.193 11.515 16.192 11.44 16.208 11.36 16.228 11.276 16.283 11.036 16.349 10.83 16.516 10.83 16.647 10.83 16.703 10.979 16.647 11.226M17.15 11.25C17.223 10.928 16.926 11.222 16.879 11.115 16.806 10.949 16.852 10.613 16.559 10.5 16.446 10.457 16.181 10.513 15.956 10.719 15.796 10.868 15.719 11.069 15.675 11.263 15.629 11.458 15.578 11.816 15.904 11.943 16.007 11.987 16.102 11.999 16.196 11.996 16.524 11.978 16.775 11.482 16.96 11.285 17.103 11.13 17.128 11.344 17.15 11.249M13.317 11.945C13.106 11.942 13.034 11.942 12.786 11.955L12.777 11.937C12.798 11.843 12.822 11.751 12.844 11.656L12.873 11.527C12.919 11.328 12.964 11.095 12.968 11.026 12.973 10.983 12.986 10.876 12.866 10.876 12.814 10.876 12.761 10.902 12.707 10.926 12.678 11.032 12.617 11.329 12.589 11.466 12.529 11.752 12.524 11.785 12.497 11.926L12.479 11.945C12.262 11.942 12.188 11.942 11.938 11.955L11.927 11.934C11.968 11.764 12.009 11.592 12.049 11.422 12.154 10.961 12.179 10.785 12.207 10.551L12.227 10.537C12.47 10.502 12.53 10.495 12.793 10.441L12.814 10.466 12.776 10.613C12.819 10.587 12.863 10.56 12.908 10.537 13.031 10.475 13.171 10.457 13.245 10.457 13.361 10.457 13.487 10.489 13.541 10.623 13.591 10.742 13.557 10.889 13.491 11.178L13.458 11.325C13.389 11.647 13.379 11.706 13.342 11.926L13.316 11.945H13.317ZM15.143 9.423 14.969 9.425C14.513 9.43 14.33 9.428 14.255 9.419 14.248 9.452 14.236 9.511 14.236 9.511L14.073 10.269C14.073 10.269 13.683 11.877 13.664 11.953 14.062 11.948 14.225 11.948 14.293 11.955 14.309 11.879 14.402 11.431 14.402 11.431 14.402 11.431 14.481 11.101 14.486 11.089 14.486 11.089 14.51 11.055 14.535 11.041H14.571C14.914 11.041 15.302 11.041 15.605 10.818 15.811 10.665 15.953 10.438 16.016 10.165 16.032 10.097 16.044 10.016 16.044 9.937 16.044 9.832 16.023 9.727 15.962 9.646 15.807 9.429 15.5 9.425 15.143 9.423ZM15.371 10.211C15.334 10.378 15.226 10.52 15.086 10.588 14.969 10.647 14.828 10.651 14.683 10.651H14.589L14.596 10.613C14.596 10.613 14.77 9.858 14.769 9.86L14.774 9.822 14.777 9.792 14.846 9.799C14.846 9.799 15.203 9.83 15.212 9.832 15.354 9.886 15.412 10.027 15.371 10.211M19.111 10.479 19.091 10.457C18.831 10.508 18.784 10.517 18.545 10.549L18.527 10.566C18.527 10.566 18.525 10.574 18.524 10.577L18.523 10.574C18.345 10.985 18.35 10.896 18.206 11.219 18.205 11.204 18.204 11.195 18.204 11.179L18.168 10.478 18.146 10.456C17.874 10.508 17.867 10.517 17.615 10.548L17.595 10.565C17.594 10.574 17.593 10.583 17.591 10.593L17.594 10.597C17.625 10.758 17.618 10.722 17.649 10.975 17.664 11.099 17.683 11.225 17.698 11.348 17.723 11.553 17.737 11.655 17.767 11.969 17.597 12.25 17.557 12.356 17.395 12.602L17.404 12.625C17.65 12.616 17.707 12.616 17.888 12.616L17.929 12.571C18.066 12.275 19.113 10.478 19.113 10.478M10.217 10.653C10.355 10.556 10.373 10.422 10.256 10.352 10.136 10.283 9.929 10.304 9.788 10.402 9.647 10.498 9.632 10.632 9.749 10.702 9.867 10.77 10.076 10.751 10.217 10.653Z"
        fill="#fff"
      />
      <path
        d="M17.9085 12.5969L17.7038 12.9472C17.6393 13.0664 17.5193 13.1564 17.328 13.1572L17.0018 13.1519L17.0963 12.8362H17.1593C17.193 12.8362 17.217 12.8339 17.2365 12.8249C17.2523 12.8197 17.2643 12.8069 17.2778 12.7882L17.3978 12.5969H17.9085Z"
        fill="#fff"
      />
    </svg>
  );
});

UnionPay.displayName = "UnionPay";

UnionPay.metadata = {
  name: "UnionPay",
  category: "symbols/cards",
  tags: ["unionpay", "icon"],
  description: "UnionPay icon from symbols/cards category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default UnionPay;
