//
//  UIImage.Octicons.swift
//  GithubKitForSample
//
//  Created by marty-suzuki on 2021/02/11.
//  Copyright © 2021年 marty-suzuki. All rights reserved.
//

import UIKit

extension UIImage {
    static let repo: UIImage = {
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 16, height: 16), false, 0)

        //// Color Declarations
        let fillColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1.000)

        //// Bezier Drawing
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 2, y: 2.5))
        bezierPath.addCurve(to: CGPoint(x: 2.73, y: 0.73), controlPoint1: CGPoint(x: 2, y: 1.84), controlPoint2: CGPoint(x: 2.26, y: 1.2))
        bezierPath.addCurve(to: CGPoint(x: 4.5, y: 0), controlPoint1: CGPoint(x: 3.2, y: 0.26), controlPoint2: CGPoint(x: 3.84, y: 0))
        bezierPath.addLine(to: CGPoint(x: 13.25, y: 0))
        bezierPath.addCurve(to: CGPoint(x: 13.78, y: 0.22), controlPoint1: CGPoint(x: 13.45, y: 0), controlPoint2: CGPoint(x: 13.64, y: 0.08))
        bezierPath.addCurve(to: CGPoint(x: 14, y: 0.75), controlPoint1: CGPoint(x: 13.92, y: 0.36), controlPoint2: CGPoint(x: 14, y: 0.55))
        bezierPath.addLine(to: CGPoint(x: 14, y: 13.25))
        bezierPath.addCurve(to: CGPoint(x: 13.78, y: 13.78), controlPoint1: CGPoint(x: 14, y: 13.45), controlPoint2: CGPoint(x: 13.92, y: 13.64))
        bezierPath.addCurve(to: CGPoint(x: 13.25, y: 14), controlPoint1: CGPoint(x: 13.64, y: 13.92), controlPoint2: CGPoint(x: 13.45, y: 14))
        bezierPath.addLine(to: CGPoint(x: 10.75, y: 14))
        bezierPath.addCurve(to: CGPoint(x: 10.1, y: 13.63), controlPoint1: CGPoint(x: 10.48, y: 14), controlPoint2: CGPoint(x: 10.23, y: 13.86))
        bezierPath.addCurve(to: CGPoint(x: 10.1, y: 12.88), controlPoint1: CGPoint(x: 9.97, y: 13.39), controlPoint2: CGPoint(x: 9.97, y: 13.11))
        bezierPath.addCurve(to: CGPoint(x: 10.75, y: 12.5), controlPoint1: CGPoint(x: 10.23, y: 12.64), controlPoint2: CGPoint(x: 10.48, y: 12.5))
        bezierPath.addLine(to: CGPoint(x: 12.5, y: 12.5))
        bezierPath.addLine(to: CGPoint(x: 12.5, y: 10.5))
        bezierPath.addLine(to: CGPoint(x: 4.5, y: 10.5))
        bezierPath.addCurve(to: CGPoint(x: 3.8, y: 10.79), controlPoint1: CGPoint(x: 4.24, y: 10.5), controlPoint2: CGPoint(x: 3.98, y: 10.6))
        bezierPath.addCurve(to: CGPoint(x: 3.5, y: 11.49), controlPoint1: CGPoint(x: 3.61, y: 10.98), controlPoint2: CGPoint(x: 3.5, y: 11.23))
        bezierPath.addCurve(to: CGPoint(x: 3.79, y: 12.2), controlPoint1: CGPoint(x: 3.5, y: 11.76), controlPoint2: CGPoint(x: 3.6, y: 12.01))
        bezierPath.addCurve(to: CGPoint(x: 3.97, y: 12.93), controlPoint1: CGPoint(x: 3.97, y: 12.39), controlPoint2: CGPoint(x: 4.04, y: 12.67))
        bezierPath.addCurve(to: CGPoint(x: 3.44, y: 13.45), controlPoint1: CGPoint(x: 3.9, y: 13.18), controlPoint2: CGPoint(x: 3.7, y: 13.39))
        bezierPath.addCurve(to: CGPoint(x: 2.71, y: 13.25), controlPoint1: CGPoint(x: 3.18, y: 13.52), controlPoint2: CGPoint(x: 2.9, y: 13.44))
        bezierPath.addCurve(to: CGPoint(x: 2, y: 11.5), controlPoint1: CGPoint(x: 2.26, y: 12.78), controlPoint2: CGPoint(x: 2, y: 12.15))
        bezierPath.addLine(to: CGPoint(x: 2, y: 2.5))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 12.5, y: 1.5))
        bezierPath.addLine(to: CGPoint(x: 12.5, y: 9))
        bezierPath.addLine(to: CGPoint(x: 4.5, y: 9))
        bezierPath.addCurve(to: CGPoint(x: 3.5, y: 9.21), controlPoint1: CGPoint(x: 4.14, y: 9), controlPoint2: CGPoint(x: 3.81, y: 9.07))
        bezierPath.addLine(to: CGPoint(x: 3.5, y: 2.5))
        bezierPath.addCurve(to: CGPoint(x: 3.79, y: 1.79), controlPoint1: CGPoint(x: 3.5, y: 2.23), controlPoint2: CGPoint(x: 3.61, y: 1.98))
        bezierPath.addCurve(to: CGPoint(x: 4.5, y: 1.5), controlPoint1: CGPoint(x: 3.98, y: 1.61), controlPoint2: CGPoint(x: 4.23, y: 1.5))
        bezierPath.addLine(to: CGPoint(x: 12.5, y: 1.5))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 5, y: 12.25))
        bezierPath.addLine(to: CGPoint(x: 5, y: 15.5))
        bezierPath.addCurve(to: CGPoint(x: 5.07, y: 15.67), controlPoint1: CGPoint(x: 5, y: 15.56), controlPoint2: CGPoint(x: 5.02, y: 15.62))
        bezierPath.addCurve(to: CGPoint(x: 5.23, y: 15.75), controlPoint1: CGPoint(x: 5.11, y: 15.71), controlPoint2: CGPoint(x: 5.16, y: 15.74))
        bezierPath.addCurve(to: CGPoint(x: 5.4, y: 15.7), controlPoint1: CGPoint(x: 5.29, y: 15.75), controlPoint2: CGPoint(x: 5.35, y: 15.74))
        bezierPath.addLine(to: CGPoint(x: 6.85, y: 14.61))
        bezierPath.addCurve(to: CGPoint(x: 7, y: 14.56), controlPoint1: CGPoint(x: 6.89, y: 14.58), controlPoint2: CGPoint(x: 6.95, y: 14.56))
        bezierPath.addCurve(to: CGPoint(x: 7.15, y: 14.61), controlPoint1: CGPoint(x: 7.05, y: 14.56), controlPoint2: CGPoint(x: 7.11, y: 14.58))
        bezierPath.addLine(to: CGPoint(x: 8.6, y: 15.7))
        bezierPath.addCurve(to: CGPoint(x: 8.77, y: 15.75), controlPoint1: CGPoint(x: 8.65, y: 15.74), controlPoint2: CGPoint(x: 8.71, y: 15.75))
        bezierPath.addCurve(to: CGPoint(x: 8.93, y: 15.67), controlPoint1: CGPoint(x: 8.84, y: 15.74), controlPoint2: CGPoint(x: 8.89, y: 15.71))
        bezierPath.addCurve(to: CGPoint(x: 9, y: 15.5), controlPoint1: CGPoint(x: 8.98, y: 15.62), controlPoint2: CGPoint(x: 9, y: 15.56))
        bezierPath.addLine(to: CGPoint(x: 9, y: 12.25))
        bezierPath.addCurve(to: CGPoint(x: 8.93, y: 12.07), controlPoint1: CGPoint(x: 9, y: 12.18), controlPoint2: CGPoint(x: 8.97, y: 12.12))
        bezierPath.addCurve(to: CGPoint(x: 8.75, y: 12), controlPoint1: CGPoint(x: 8.88, y: 12.03), controlPoint2: CGPoint(x: 8.82, y: 12))
        bezierPath.addLine(to: CGPoint(x: 5.25, y: 12))
        bezierPath.addCurve(to: CGPoint(x: 5.07, y: 12.07), controlPoint1: CGPoint(x: 5.18, y: 12), controlPoint2: CGPoint(x: 5.12, y: 12.03))
        bezierPath.addCurve(to: CGPoint(x: 5, y: 12.25), controlPoint1: CGPoint(x: 5.03, y: 12.12), controlPoint2: CGPoint(x: 5, y: 12.18))
        bezierPath.close()
        bezierPath.usesEvenOddFillRule = true
        fillColor.setFill()
        bezierPath.fill()


        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }()

    static let repoForked: UIImage = {
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 16, height: 16), false, 0)

        //// Color Declarations
        let fillColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1.000)

        //// Bezier Drawing
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 5, y: 3.25))
        bezierPath.addCurve(to: CGPoint(x: 4.62, y: 3.9), controlPoint1: CGPoint(x: 5, y: 3.52), controlPoint2: CGPoint(x: 4.86, y: 3.77))
        bezierPath.addCurve(to: CGPoint(x: 3.88, y: 3.9), controlPoint1: CGPoint(x: 4.39, y: 4.03), controlPoint2: CGPoint(x: 4.11, y: 4.03))
        bezierPath.addCurve(to: CGPoint(x: 3.5, y: 3.25), controlPoint1: CGPoint(x: 3.64, y: 3.77), controlPoint2: CGPoint(x: 3.5, y: 3.52))
        bezierPath.addCurve(to: CGPoint(x: 3.88, y: 2.6), controlPoint1: CGPoint(x: 3.5, y: 2.98), controlPoint2: CGPoint(x: 3.64, y: 2.73))
        bezierPath.addCurve(to: CGPoint(x: 4.62, y: 2.6), controlPoint1: CGPoint(x: 4.11, y: 2.47), controlPoint2: CGPoint(x: 4.39, y: 2.47))
        bezierPath.addCurve(to: CGPoint(x: 5, y: 3.25), controlPoint1: CGPoint(x: 4.86, y: 2.73), controlPoint2: CGPoint(x: 5, y: 2.98))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 5, y: 5.37))
        bezierPath.addCurve(to: CGPoint(x: 6.4, y: 3.91), controlPoint1: CGPoint(x: 5.67, y: 5.13), controlPoint2: CGPoint(x: 6.19, y: 4.59))
        bezierPath.addCurve(to: CGPoint(x: 6.06, y: 1.91), controlPoint1: CGPoint(x: 6.61, y: 3.23), controlPoint2: CGPoint(x: 6.48, y: 2.49))
        bezierPath.addCurve(to: CGPoint(x: 4.25, y: 1), controlPoint1: CGPoint(x: 5.63, y: 1.34), controlPoint2: CGPoint(x: 4.96, y: 1))
        bezierPath.addCurve(to: CGPoint(x: 2.44, y: 1.91), controlPoint1: CGPoint(x: 3.54, y: 1), controlPoint2: CGPoint(x: 2.87, y: 1.34))
        bezierPath.addCurve(to: CGPoint(x: 2.1, y: 3.91), controlPoint1: CGPoint(x: 2.02, y: 2.49), controlPoint2: CGPoint(x: 1.89, y: 3.23))
        bezierPath.addCurve(to: CGPoint(x: 3.5, y: 5.37), controlPoint1: CGPoint(x: 2.31, y: 4.59), controlPoint2: CGPoint(x: 2.83, y: 5.13))
        bezierPath.addLine(to: CGPoint(x: 3.5, y: 6.25))
        bezierPath.addCurve(to: CGPoint(x: 4.16, y: 7.84), controlPoint1: CGPoint(x: 3.5, y: 6.85), controlPoint2: CGPoint(x: 3.74, y: 7.42))
        bezierPath.addCurve(to: CGPoint(x: 5.75, y: 8.5), controlPoint1: CGPoint(x: 4.58, y: 8.26), controlPoint2: CGPoint(x: 5.15, y: 8.5))
        bezierPath.addLine(to: CGPoint(x: 7.25, y: 8.5))
        bezierPath.addLine(to: CGPoint(x: 7.25, y: 10.63))
        bezierPath.addCurve(to: CGPoint(x: 5.85, y: 12.09), controlPoint1: CGPoint(x: 6.58, y: 10.87), controlPoint2: CGPoint(x: 6.06, y: 11.41))
        bezierPath.addCurve(to: CGPoint(x: 6.19, y: 14.09), controlPoint1: CGPoint(x: 5.64, y: 12.77), controlPoint2: CGPoint(x: 5.77, y: 13.52))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 15), controlPoint1: CGPoint(x: 6.61, y: 14.66), controlPoint2: CGPoint(x: 7.29, y: 15))
        bezierPath.addCurve(to: CGPoint(x: 9.81, y: 14.09), controlPoint1: CGPoint(x: 8.71, y: 15), controlPoint2: CGPoint(x: 9.39, y: 14.66))
        bezierPath.addCurve(to: CGPoint(x: 10.15, y: 12.09), controlPoint1: CGPoint(x: 10.23, y: 13.52), controlPoint2: CGPoint(x: 10.36, y: 12.77))
        bezierPath.addCurve(to: CGPoint(x: 8.75, y: 10.63), controlPoint1: CGPoint(x: 9.94, y: 11.41), controlPoint2: CGPoint(x: 9.42, y: 10.87))
        bezierPath.addLine(to: CGPoint(x: 8.75, y: 8.5))
        bezierPath.addLine(to: CGPoint(x: 10.25, y: 8.5))
        bezierPath.addCurve(to: CGPoint(x: 11.84, y: 7.84), controlPoint1: CGPoint(x: 10.85, y: 8.5), controlPoint2: CGPoint(x: 11.42, y: 8.26))
        bezierPath.addCurve(to: CGPoint(x: 12.5, y: 6.25), controlPoint1: CGPoint(x: 12.26, y: 7.42), controlPoint2: CGPoint(x: 12.5, y: 6.85))
        bezierPath.addLine(to: CGPoint(x: 12.5, y: 5.37))
        bezierPath.addCurve(to: CGPoint(x: 13.9, y: 3.91), controlPoint1: CGPoint(x: 13.17, y: 5.13), controlPoint2: CGPoint(x: 13.69, y: 4.59))
        bezierPath.addCurve(to: CGPoint(x: 13.56, y: 1.91), controlPoint1: CGPoint(x: 14.11, y: 3.23), controlPoint2: CGPoint(x: 13.98, y: 2.49))
        bezierPath.addCurve(to: CGPoint(x: 11.75, y: 1), controlPoint1: CGPoint(x: 13.13, y: 1.34), controlPoint2: CGPoint(x: 12.46, y: 1))
        bezierPath.addCurve(to: CGPoint(x: 9.94, y: 1.91), controlPoint1: CGPoint(x: 11.04, y: 1), controlPoint2: CGPoint(x: 10.37, y: 1.34))
        bezierPath.addCurve(to: CGPoint(x: 9.6, y: 3.91), controlPoint1: CGPoint(x: 9.52, y: 2.49), controlPoint2: CGPoint(x: 9.39, y: 3.23))
        bezierPath.addCurve(to: CGPoint(x: 11, y: 5.37), controlPoint1: CGPoint(x: 9.81, y: 4.59), controlPoint2: CGPoint(x: 10.33, y: 5.13))
        bezierPath.addLine(to: CGPoint(x: 11, y: 6.25))
        bezierPath.addCurve(to: CGPoint(x: 10.78, y: 6.78), controlPoint1: CGPoint(x: 11, y: 6.45), controlPoint2: CGPoint(x: 10.92, y: 6.64))
        bezierPath.addCurve(to: CGPoint(x: 10.25, y: 7), controlPoint1: CGPoint(x: 10.64, y: 6.92), controlPoint2: CGPoint(x: 10.45, y: 7))
        bezierPath.addLine(to: CGPoint(x: 5.75, y: 7))
        bezierPath.addCurve(to: CGPoint(x: 5.22, y: 6.78), controlPoint1: CGPoint(x: 5.55, y: 7), controlPoint2: CGPoint(x: 5.36, y: 6.92))
        bezierPath.addCurve(to: CGPoint(x: 5, y: 6.25), controlPoint1: CGPoint(x: 5.08, y: 6.64), controlPoint2: CGPoint(x: 5, y: 6.45))
        bezierPath.addLine(to: CGPoint(x: 5, y: 5.37))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 8.75, y: 12.75))
        bezierPath.addCurve(to: CGPoint(x: 8.38, y: 13.4), controlPoint1: CGPoint(x: 8.75, y: 13.02), controlPoint2: CGPoint(x: 8.61, y: 13.27))
        bezierPath.addCurve(to: CGPoint(x: 7.62, y: 13.4), controlPoint1: CGPoint(x: 8.14, y: 13.53), controlPoint2: CGPoint(x: 7.86, y: 13.53))
        bezierPath.addCurve(to: CGPoint(x: 7.25, y: 12.75), controlPoint1: CGPoint(x: 7.39, y: 13.27), controlPoint2: CGPoint(x: 7.25, y: 13.02))
        bezierPath.addCurve(to: CGPoint(x: 7.62, y: 12.1), controlPoint1: CGPoint(x: 7.25, y: 12.48), controlPoint2: CGPoint(x: 7.39, y: 12.23))
        bezierPath.addCurve(to: CGPoint(x: 8.38, y: 12.1), controlPoint1: CGPoint(x: 7.86, y: 11.97), controlPoint2: CGPoint(x: 8.14, y: 11.97))
        bezierPath.addCurve(to: CGPoint(x: 8.75, y: 12.75), controlPoint1: CGPoint(x: 8.61, y: 12.23), controlPoint2: CGPoint(x: 8.75, y: 12.48))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 11.75, y: 4))
        bezierPath.addCurve(to: CGPoint(x: 12.4, y: 3.63), controlPoint1: CGPoint(x: 12.02, y: 4), controlPoint2: CGPoint(x: 12.27, y: 3.86))
        bezierPath.addCurve(to: CGPoint(x: 12.4, y: 2.88), controlPoint1: CGPoint(x: 12.53, y: 3.39), controlPoint2: CGPoint(x: 12.53, y: 3.11))
        bezierPath.addCurve(to: CGPoint(x: 11.75, y: 2.5), controlPoint1: CGPoint(x: 12.27, y: 2.64), controlPoint2: CGPoint(x: 12.02, y: 2.5))
        bezierPath.addCurve(to: CGPoint(x: 11.1, y: 2.88), controlPoint1: CGPoint(x: 11.48, y: 2.5), controlPoint2: CGPoint(x: 11.23, y: 2.64))
        bezierPath.addCurve(to: CGPoint(x: 11.1, y: 3.63), controlPoint1: CGPoint(x: 10.97, y: 3.11), controlPoint2: CGPoint(x: 10.97, y: 3.39))
        bezierPath.addCurve(to: CGPoint(x: 11.75, y: 4), controlPoint1: CGPoint(x: 11.23, y: 3.86), controlPoint2: CGPoint(x: 11.48, y: 4))
        bezierPath.close()
        bezierPath.usesEvenOddFillRule = true
        fillColor.setFill()
        bezierPath.fill()

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }()

    static let star: UIImage = {
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 16, height: 16), false, 0)

        //// Color Declarations
        let fillColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1.000)

        //// Bezier Drawing
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 8, y: 0.25))
        bezierPath.addCurve(to: CGPoint(x: 8.4, y: 0.36), controlPoint1: CGPoint(x: 8.14, y: 0.25), controlPoint2: CGPoint(x: 8.28, y: 0.29))
        bezierPath.addCurve(to: CGPoint(x: 8.67, y: 0.67), controlPoint1: CGPoint(x: 8.52, y: 0.44), controlPoint2: CGPoint(x: 8.61, y: 0.54))
        bezierPath.addLine(to: CGPoint(x: 10.55, y: 4.48))
        bezierPath.addLine(to: CGPoint(x: 14.77, y: 5.1))
        bezierPath.addCurve(to: CGPoint(x: 15.24, y: 5.36), controlPoint1: CGPoint(x: 14.95, y: 5.12), controlPoint2: CGPoint(x: 15.12, y: 5.22))
        bezierPath.addCurve(to: CGPoint(x: 15.41, y: 5.88), controlPoint1: CGPoint(x: 15.36, y: 5.51), controlPoint2: CGPoint(x: 15.42, y: 5.69))
        bezierPath.addCurve(to: CGPoint(x: 15.18, y: 6.37), controlPoint1: CGPoint(x: 15.4, y: 6.07), controlPoint2: CGPoint(x: 15.32, y: 6.24))
        bezierPath.addLine(to: CGPoint(x: 12.13, y: 9.34))
        bezierPath.addLine(to: CGPoint(x: 12.85, y: 13.54))
        bezierPath.addCurve(to: CGPoint(x: 12.75, y: 14.07), controlPoint1: CGPoint(x: 12.89, y: 13.72), controlPoint2: CGPoint(x: 12.85, y: 13.91))
        bezierPath.addCurve(to: CGPoint(x: 12.31, y: 14.39), controlPoint1: CGPoint(x: 12.64, y: 14.23), controlPoint2: CGPoint(x: 12.49, y: 14.34))
        bezierPath.addCurve(to: CGPoint(x: 11.77, y: 14.33), controlPoint1: CGPoint(x: 12.12, y: 14.44), controlPoint2: CGPoint(x: 11.93, y: 14.41))
        bezierPath.addLine(to: CGPoint(x: 8, y: 12.35))
        bezierPath.addLine(to: CGPoint(x: 4.23, y: 14.33))
        bezierPath.addCurve(to: CGPoint(x: 3.69, y: 14.39), controlPoint1: CGPoint(x: 4.07, y: 14.41), controlPoint2: CGPoint(x: 3.88, y: 14.44))
        bezierPath.addCurve(to: CGPoint(x: 3.25, y: 14.07), controlPoint1: CGPoint(x: 3.51, y: 14.34), controlPoint2: CGPoint(x: 3.36, y: 14.23))
        bezierPath.addCurve(to: CGPoint(x: 3.15, y: 13.54), controlPoint1: CGPoint(x: 3.15, y: 13.91), controlPoint2: CGPoint(x: 3.11, y: 13.72))
        bezierPath.addLine(to: CGPoint(x: 3.87, y: 9.34))
        bezierPath.addLine(to: CGPoint(x: 0.82, y: 6.37))
        bezierPath.addCurve(to: CGPoint(x: 0.59, y: 5.88), controlPoint1: CGPoint(x: 0.68, y: 6.24), controlPoint2: CGPoint(x: 0.6, y: 6.07))
        bezierPath.addCurve(to: CGPoint(x: 0.76, y: 5.36), controlPoint1: CGPoint(x: 0.58, y: 5.69), controlPoint2: CGPoint(x: 0.64, y: 5.51))
        bezierPath.addCurve(to: CGPoint(x: 1.23, y: 5.09), controlPoint1: CGPoint(x: 0.88, y: 5.22), controlPoint2: CGPoint(x: 1.05, y: 5.12))
        bezierPath.addLine(to: CGPoint(x: 5.44, y: 4.48))
        bezierPath.addLine(to: CGPoint(x: 7.33, y: 0.67))
        bezierPath.addCurve(to: CGPoint(x: 7.6, y: 0.36), controlPoint1: CGPoint(x: 7.39, y: 0.54), controlPoint2: CGPoint(x: 7.48, y: 0.44))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 0.25), controlPoint1: CGPoint(x: 7.72, y: 0.29), controlPoint2: CGPoint(x: 7.86, y: 0.25))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 8, y: 2.69))
        bezierPath.addLine(to: CGPoint(x: 6.62, y: 5.5))
        bezierPath.addCurve(to: CGPoint(x: 6.05, y: 5.91), controlPoint1: CGPoint(x: 6.51, y: 5.72), controlPoint2: CGPoint(x: 6.29, y: 5.87))
        bezierPath.addLine(to: CGPoint(x: 2.95, y: 6.36))
        bezierPath.addLine(to: CGPoint(x: 5.19, y: 8.54))
        bezierPath.addCurve(to: CGPoint(x: 5.41, y: 9.21), controlPoint1: CGPoint(x: 5.37, y: 8.72), controlPoint2: CGPoint(x: 5.45, y: 8.96))
        bezierPath.addLine(to: CGPoint(x: 4.88, y: 12.29))
        bezierPath.addLine(to: CGPoint(x: 7.65, y: 10.84))
        bezierPath.addCurve(to: CGPoint(x: 8.35, y: 10.84), controlPoint1: CGPoint(x: 7.87, y: 10.72), controlPoint2: CGPoint(x: 8.13, y: 10.72))
        bezierPath.addLine(to: CGPoint(x: 11.12, y: 12.29))
        bezierPath.addLine(to: CGPoint(x: 10.59, y: 9.21))
        bezierPath.addCurve(to: CGPoint(x: 10.8, y: 8.54), controlPoint1: CGPoint(x: 10.55, y: 8.96), controlPoint2: CGPoint(x: 10.63, y: 8.72))
        bezierPath.addLine(to: CGPoint(x: 13.04, y: 6.36))
        bezierPath.addLine(to: CGPoint(x: 9.95, y: 5.91))
        bezierPath.addCurve(to: CGPoint(x: 9.38, y: 5.5), controlPoint1: CGPoint(x: 9.71, y: 5.88), controlPoint2: CGPoint(x: 9.49, y: 5.72))
        bezierPath.addLine(to: CGPoint(x: 8, y: 2.69))
        bezierPath.addLine(to: CGPoint(x: 8, y: 2.69))
        bezierPath.close()
        bezierPath.usesEvenOddFillRule = true
        fillColor.setFill()
        bezierPath.fill()


        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }()

    static let location: UIImage = {
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 16, height: 16), false, 0)

        //// Color Declarations
        let fillColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1.000)

        //// Bezier Drawing
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 11.54, y: 3.46))
        bezierPath.addCurve(to: CGPoint(x: 13, y: 7), controlPoint1: CGPoint(x: 12.47, y: 4.4), controlPoint2: CGPoint(x: 13, y: 5.67))
        bezierPath.addCurve(to: CGPoint(x: 11.54, y: 10.54), controlPoint1: CGPoint(x: 13, y: 8.33), controlPoint2: CGPoint(x: 12.47, y: 9.6))
        bezierPath.addLine(to: CGPoint(x: 8, y: 14.07))
        bezierPath.addLine(to: CGPoint(x: 4.46, y: 10.53))
        bezierPath.addCurve(to: CGPoint(x: 3, y: 7), controlPoint1: CGPoint(x: 3.53, y: 9.6), controlPoint2: CGPoint(x: 3, y: 8.33))
        bezierPath.addCurve(to: CGPoint(x: 4.46, y: 3.46), controlPoint1: CGPoint(x: 3, y: 5.67), controlPoint2: CGPoint(x: 3.53, y: 4.4))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 2), controlPoint1: CGPoint(x: 5.4, y: 2.53), controlPoint2: CGPoint(x: 6.67, y: 2))
        bezierPath.addCurve(to: CGPoint(x: 11.54, y: 3.46), controlPoint1: CGPoint(x: 9.33, y: 2), controlPoint2: CGPoint(x: 10.6, y: 2.53))
        bezierPath.addLine(to: CGPoint(x: 11.54, y: 3.46))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 12.6, y: 11.6))
        bezierPath.addCurve(to: CGPoint(x: 14.42, y: 5.98), controlPoint1: CGPoint(x: 14.07, y: 10.12), controlPoint2: CGPoint(x: 14.75, y: 8.04))
        bezierPath.addCurve(to: CGPoint(x: 10.95, y: 1.21), controlPoint1: CGPoint(x: 14.09, y: 3.93), controlPoint2: CGPoint(x: 12.8, y: 2.15))
        bezierPath.addCurve(to: CGPoint(x: 5.05, y: 1.21), controlPoint1: CGPoint(x: 9.1, y: 0.26), controlPoint2: CGPoint(x: 6.9, y: 0.26))
        bezierPath.addCurve(to: CGPoint(x: 1.58, y: 5.98), controlPoint1: CGPoint(x: 3.2, y: 2.15), controlPoint2: CGPoint(x: 1.91, y: 3.93))
        bezierPath.addCurve(to: CGPoint(x: 3.4, y: 11.6), controlPoint1: CGPoint(x: 1.25, y: 8.04), controlPoint2: CGPoint(x: 1.93, y: 10.12))
        bezierPath.addLine(to: CGPoint(x: 6.94, y: 15.13))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 15.57), controlPoint1: CGPoint(x: 7.22, y: 15.41), controlPoint2: CGPoint(x: 7.6, y: 15.57))
        bezierPath.addCurve(to: CGPoint(x: 9.06, y: 15.13), controlPoint1: CGPoint(x: 8.4, y: 15.57), controlPoint2: CGPoint(x: 8.78, y: 15.41))
        bezierPath.addLine(to: CGPoint(x: 12.6, y: 11.6))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 8, y: 9))
        bezierPath.addCurve(to: CGPoint(x: 9.73, y: 8), controlPoint1: CGPoint(x: 8.71, y: 9), controlPoint2: CGPoint(x: 9.37, y: 8.62))
        bezierPath.addCurve(to: CGPoint(x: 9.73, y: 6), controlPoint1: CGPoint(x: 10.09, y: 7.38), controlPoint2: CGPoint(x: 10.09, y: 6.62))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 5), controlPoint1: CGPoint(x: 9.37, y: 5.38), controlPoint2: CGPoint(x: 8.71, y: 5))
        bezierPath.addCurve(to: CGPoint(x: 6.27, y: 6), controlPoint1: CGPoint(x: 7.29, y: 5), controlPoint2: CGPoint(x: 6.63, y: 5.38))
        bezierPath.addCurve(to: CGPoint(x: 6.27, y: 8), controlPoint1: CGPoint(x: 5.91, y: 6.62), controlPoint2: CGPoint(x: 5.91, y: 7.38))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 9), controlPoint1: CGPoint(x: 6.63, y: 8.62), controlPoint2: CGPoint(x: 7.29, y: 9))
        bezierPath.close()
        bezierPath.usesEvenOddFillRule = true
        fillColor.setFill()
        bezierPath.fill()

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }()

    static let eye: UIImage = {
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 16, height: 16), false, 0)

        //// Color Declarations
        let fillColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1.000)

        //// Bezier Drawing
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 1.68, y: 7.93))
        bezierPath.addCurve(to: CGPoint(x: 4.04, y: 5.22), controlPoint1: CGPoint(x: 2.09, y: 7.31), controlPoint2: CGPoint(x: 2.92, y: 6.18))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 3.5), controlPoint1: CGPoint(x: 5.17, y: 4.24), controlPoint2: CGPoint(x: 6.53, y: 3.5))
        bezierPath.addCurve(to: CGPoint(x: 11.96, y: 5.22), controlPoint1: CGPoint(x: 9.47, y: 3.5), controlPoint2: CGPoint(x: 10.82, y: 4.24))
        bezierPath.addCurve(to: CGPoint(x: 14.32, y: 7.93), controlPoint1: CGPoint(x: 13.08, y: 6.18), controlPoint2: CGPoint(x: 13.91, y: 7.31))
        bezierPath.addCurve(to: CGPoint(x: 14.34, y: 8), controlPoint1: CGPoint(x: 14.33, y: 7.95), controlPoint2: CGPoint(x: 14.34, y: 7.98))
        bezierPath.addCurve(to: CGPoint(x: 14.32, y: 8.07), controlPoint1: CGPoint(x: 14.34, y: 8.02), controlPoint2: CGPoint(x: 14.33, y: 8.05))
        bezierPath.addCurve(to: CGPoint(x: 11.96, y: 10.78), controlPoint1: CGPoint(x: 13.91, y: 8.69), controlPoint2: CGPoint(x: 13.08, y: 9.82))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 12.5), controlPoint1: CGPoint(x: 10.83, y: 11.76), controlPoint2: CGPoint(x: 9.47, y: 12.5))
        bezierPath.addCurve(to: CGPoint(x: 4.04, y: 10.78), controlPoint1: CGPoint(x: 6.53, y: 12.5), controlPoint2: CGPoint(x: 5.18, y: 11.76))
        bezierPath.addCurve(to: CGPoint(x: 1.68, y: 8.07), controlPoint1: CGPoint(x: 2.92, y: 9.82), controlPoint2: CGPoint(x: 2.09, y: 8.69))
        bezierPath.addCurve(to: CGPoint(x: 1.66, y: 8), controlPoint1: CGPoint(x: 1.67, y: 8.05), controlPoint2: CGPoint(x: 1.66, y: 8.02))
        bezierPath.addCurve(to: CGPoint(x: 1.68, y: 7.93), controlPoint1: CGPoint(x: 1.66, y: 7.98), controlPoint2: CGPoint(x: 1.67, y: 7.95))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 8, y: 2))
        bezierPath.addCurve(to: CGPoint(x: 3.07, y: 4.08), controlPoint1: CGPoint(x: 6.02, y: 2), controlPoint2: CGPoint(x: 4.33, y: 2.99))
        bezierPath.addCurve(to: CGPoint(x: 0.43, y: 7.1), controlPoint1: CGPoint(x: 1.8, y: 5.17), controlPoint2: CGPoint(x: 0.88, y: 6.42))
        bezierPath.addCurve(to: CGPoint(x: 0.16, y: 8), controlPoint1: CGPoint(x: 0.25, y: 7.37), controlPoint2: CGPoint(x: 0.16, y: 7.68))
        bezierPath.addCurve(to: CGPoint(x: 0.43, y: 8.9), controlPoint1: CGPoint(x: 0.16, y: 8.32), controlPoint2: CGPoint(x: 0.25, y: 8.63))
        bezierPath.addCurve(to: CGPoint(x: 3.07, y: 11.92), controlPoint1: CGPoint(x: 0.88, y: 9.58), controlPoint2: CGPoint(x: 1.8, y: 10.83))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 14), controlPoint1: CGPoint(x: 4.33, y: 13.01), controlPoint2: CGPoint(x: 6.02, y: 14))
        bezierPath.addCurve(to: CGPoint(x: 12.93, y: 11.92), controlPoint1: CGPoint(x: 9.98, y: 14), controlPoint2: CGPoint(x: 11.67, y: 13.01))
        bezierPath.addCurve(to: CGPoint(x: 15.57, y: 8.9), controlPoint1: CGPoint(x: 14.2, y: 10.83), controlPoint2: CGPoint(x: 15.12, y: 9.58))
        bezierPath.addCurve(to: CGPoint(x: 15.84, y: 8), controlPoint1: CGPoint(x: 15.75, y: 8.63), controlPoint2: CGPoint(x: 15.84, y: 8.32))
        bezierPath.addCurve(to: CGPoint(x: 15.57, y: 7.1), controlPoint1: CGPoint(x: 15.84, y: 7.68), controlPoint2: CGPoint(x: 15.75, y: 7.37))
        bezierPath.addCurve(to: CGPoint(x: 12.93, y: 4.08), controlPoint1: CGPoint(x: 15.12, y: 6.42), controlPoint2: CGPoint(x: 14.2, y: 5.17))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 2), controlPoint1: CGPoint(x: 11.67, y: 2.99), controlPoint2: CGPoint(x: 9.98, y: 2))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 8, y: 10))
        bezierPath.addCurve(to: CGPoint(x: 9.73, y: 9), controlPoint1: CGPoint(x: 8.71, y: 10), controlPoint2: CGPoint(x: 9.37, y: 9.62))
        bezierPath.addCurve(to: CGPoint(x: 9.73, y: 7), controlPoint1: CGPoint(x: 10.09, y: 8.38), controlPoint2: CGPoint(x: 10.09, y: 7.62))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 6), controlPoint1: CGPoint(x: 9.37, y: 6.38), controlPoint2: CGPoint(x: 8.71, y: 6))
        bezierPath.addCurve(to: CGPoint(x: 6.27, y: 7), controlPoint1: CGPoint(x: 7.29, y: 6), controlPoint2: CGPoint(x: 6.63, y: 6.38))
        bezierPath.addCurve(to: CGPoint(x: 6.27, y: 9), controlPoint1: CGPoint(x: 5.91, y: 7.62), controlPoint2: CGPoint(x: 5.91, y: 8.38))
        bezierPath.addCurve(to: CGPoint(x: 8, y: 10), controlPoint1: CGPoint(x: 6.63, y: 9.62), controlPoint2: CGPoint(x: 7.29, y: 10))
        bezierPath.close()
        bezierPath.usesEvenOddFillRule = true
        fillColor.setFill()
        bezierPath.fill()

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }()

    static let people: UIImage = {
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 16, height: 16), false, 0)

        //// Color Declarations
        let fillColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1.000)

        //// Bezier Drawing
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 5.5, y: 3.5))
        bezierPath.addCurve(to: CGPoint(x: 3.77, y: 4.5), controlPoint1: CGPoint(x: 4.79, y: 3.5), controlPoint2: CGPoint(x: 4.13, y: 3.88))
        bezierPath.addCurve(to: CGPoint(x: 3.77, y: 6.5), controlPoint1: CGPoint(x: 3.41, y: 5.12), controlPoint2: CGPoint(x: 3.41, y: 5.88))
        bezierPath.addCurve(to: CGPoint(x: 5.5, y: 7.5), controlPoint1: CGPoint(x: 4.13, y: 7.12), controlPoint2: CGPoint(x: 4.79, y: 7.5))
        bezierPath.addCurve(to: CGPoint(x: 7.23, y: 6.5), controlPoint1: CGPoint(x: 6.21, y: 7.5), controlPoint2: CGPoint(x: 6.87, y: 7.12))
        bezierPath.addCurve(to: CGPoint(x: 7.23, y: 4.5), controlPoint1: CGPoint(x: 7.59, y: 5.88), controlPoint2: CGPoint(x: 7.59, y: 5.12))
        bezierPath.addCurve(to: CGPoint(x: 5.5, y: 3.5), controlPoint1: CGPoint(x: 6.87, y: 3.88), controlPoint2: CGPoint(x: 6.21, y: 3.5))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 2, y: 5.5))
        bezierPath.addCurve(to: CGPoint(x: 3.58, y: 2.57), controlPoint1: CGPoint(x: 2, y: 4.32), controlPoint2: CGPoint(x: 2.59, y: 3.22))
        bezierPath.addCurve(to: CGPoint(x: 6.89, y: 2.29), controlPoint1: CGPoint(x: 4.56, y: 1.93), controlPoint2: CGPoint(x: 5.81, y: 1.82))
        bezierPath.addCurve(to: CGPoint(x: 8.95, y: 4.9), controlPoint1: CGPoint(x: 7.97, y: 2.75), controlPoint2: CGPoint(x: 8.74, y: 3.73))
        bezierPath.addCurve(to: CGPoint(x: 7.9, y: 8.05), controlPoint1: CGPoint(x: 9.15, y: 6.06), controlPoint2: CGPoint(x: 8.76, y: 7.24))
        bezierPath.addCurve(to: CGPoint(x: 10.93, y: 12.13), controlPoint1: CGPoint(x: 9.52, y: 8.83), controlPoint2: CGPoint(x: 10.65, y: 10.36))
        bezierPath.addCurve(to: CGPoint(x: 10.8, y: 12.69), controlPoint1: CGPoint(x: 10.96, y: 12.33), controlPoint2: CGPoint(x: 10.91, y: 12.53))
        bezierPath.addCurve(to: CGPoint(x: 10.31, y: 12.99), controlPoint1: CGPoint(x: 10.68, y: 12.85), controlPoint2: CGPoint(x: 10.51, y: 12.96))
        bezierPath.addCurve(to: CGPoint(x: 9.75, y: 12.86), controlPoint1: CGPoint(x: 10.11, y: 13.02), controlPoint2: CGPoint(x: 9.91, y: 12.97))
        bezierPath.addCurve(to: CGPoint(x: 9.45, y: 12.37), controlPoint1: CGPoint(x: 9.59, y: 12.74), controlPoint2: CGPoint(x: 9.48, y: 12.56))
        bezierPath.addCurve(to: CGPoint(x: 7.31, y: 9.44), controlPoint1: CGPoint(x: 9.25, y: 11.11), controlPoint2: CGPoint(x: 8.45, y: 10.02))
        bezierPath.addCurve(to: CGPoint(x: 3.69, y: 9.44), controlPoint1: CGPoint(x: 6.17, y: 8.86), controlPoint2: CGPoint(x: 4.83, y: 8.86))
        bezierPath.addCurve(to: CGPoint(x: 1.55, y: 12.37), controlPoint1: CGPoint(x: 2.55, y: 10.02), controlPoint2: CGPoint(x: 1.75, y: 11.11))
        bezierPath.addCurve(to: CGPoint(x: 1.08, y: 12.95), controlPoint1: CGPoint(x: 1.51, y: 12.63), controlPoint2: CGPoint(x: 1.33, y: 12.85))
        bezierPath.addCurve(to: CGPoint(x: 0.34, y: 12.83), controlPoint1: CGPoint(x: 0.83, y: 13.05), controlPoint2: CGPoint(x: 0.54, y: 13))
        bezierPath.addCurve(to: CGPoint(x: 0.07, y: 12.13), controlPoint1: CGPoint(x: 0.13, y: 12.66), controlPoint2: CGPoint(x: 0.03, y: 12.4))
        bezierPath.addCurve(to: CGPoint(x: 3.1, y: 8.05), controlPoint1: CGPoint(x: 0.35, y: 10.36), controlPoint2: CGPoint(x: 1.49, y: 8.83))
        bezierPath.addCurve(to: CGPoint(x: 2, y: 5.5), controlPoint1: CGPoint(x: 2.4, y: 7.39), controlPoint2: CGPoint(x: 2, y: 6.47))
        bezierPath.close()
        bezierPath.move(to: CGPoint(x: 11, y: 4))
        bezierPath.addCurve(to: CGPoint(x: 10.35, y: 4.38), controlPoint1: CGPoint(x: 10.73, y: 4), controlPoint2: CGPoint(x: 10.48, y: 4.14))
        bezierPath.addCurve(to: CGPoint(x: 10.35, y: 5.13), controlPoint1: CGPoint(x: 10.22, y: 4.61), controlPoint2: CGPoint(x: 10.22, y: 4.89))
        bezierPath.addCurve(to: CGPoint(x: 11, y: 5.5), controlPoint1: CGPoint(x: 10.48, y: 5.36), controlPoint2: CGPoint(x: 10.73, y: 5.5))
        bezierPath.addCurve(to: CGPoint(x: 12.17, y: 6.06), controlPoint1: CGPoint(x: 11.45, y: 5.5), controlPoint2: CGPoint(x: 11.88, y: 5.71))
        bezierPath.addCurve(to: CGPoint(x: 12.46, y: 7.32), controlPoint1: CGPoint(x: 12.45, y: 6.41), controlPoint2: CGPoint(x: 12.56, y: 6.88))
        bezierPath.addCurve(to: CGPoint(x: 11.67, y: 8.34), controlPoint1: CGPoint(x: 12.37, y: 7.77), controlPoint2: CGPoint(x: 12.07, y: 8.14))
        bezierPath.addCurve(to: CGPoint(x: 11.36, y: 8.62), controlPoint1: CGPoint(x: 11.54, y: 8.41), controlPoint2: CGPoint(x: 11.44, y: 8.5))
        bezierPath.addCurve(to: CGPoint(x: 11.25, y: 9.02), controlPoint1: CGPoint(x: 11.29, y: 8.74), controlPoint2: CGPoint(x: 11.25, y: 8.88))
        bezierPath.addLine(to: CGPoint(x: 11.25, y: 9.37))
        bezierPath.addCurve(to: CGPoint(x: 11.41, y: 9.83), controlPoint1: CGPoint(x: 11.25, y: 9.54), controlPoint2: CGPoint(x: 11.31, y: 9.7))
        bezierPath.addCurve(to: CGPoint(x: 11.82, y: 10.1), controlPoint1: CGPoint(x: 11.51, y: 9.96), controlPoint2: CGPoint(x: 11.66, y: 10.06))
        bezierPath.addCurve(to: CGPoint(x: 14.35, y: 12.47), controlPoint1: CGPoint(x: 13.02, y: 10.39), controlPoint2: CGPoint(x: 13.99, y: 11.3))
        bezierPath.addCurve(to: CGPoint(x: 14.71, y: 12.91), controlPoint1: CGPoint(x: 14.4, y: 12.66), controlPoint2: CGPoint(x: 14.54, y: 12.82))
        bezierPath.addCurve(to: CGPoint(x: 15.28, y: 12.97), controlPoint1: CGPoint(x: 14.89, y: 13.01), controlPoint2: CGPoint(x: 15.09, y: 13.03))
        bezierPath.addCurve(to: CGPoint(x: 15.73, y: 12.6), controlPoint1: CGPoint(x: 15.47, y: 12.91), controlPoint2: CGPoint(x: 15.63, y: 12.78))
        bezierPath.addCurve(to: CGPoint(x: 15.78, y: 12.03), controlPoint1: CGPoint(x: 15.82, y: 12.43), controlPoint2: CGPoint(x: 15.84, y: 12.22))
        bezierPath.addCurve(to: CGPoint(x: 13.22, y: 9.02), controlPoint1: CGPoint(x: 15.38, y: 10.72), controlPoint2: CGPoint(x: 14.45, y: 9.63))
        bezierPath.addCurve(to: CGPoint(x: 14, y: 6.9), controlPoint1: CGPoint(x: 13.74, y: 8.44), controlPoint2: CGPoint(x: 14.02, y: 7.68))
        bezierPath.addCurve(to: CGPoint(x: 13.09, y: 4.85), controlPoint1: CGPoint(x: 13.97, y: 6.13), controlPoint2: CGPoint(x: 13.65, y: 5.39))
        bezierPath.addCurve(to: CGPoint(x: 11, y: 4), controlPoint1: CGPoint(x: 12.53, y: 4.3), controlPoint2: CGPoint(x: 11.78, y: 4))
        bezierPath.close()
        bezierPath.usesEvenOddFillRule = true
        fillColor.setFill()
        bezierPath.fill()

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }()
}
