     }
     return false
 }
+
 // MARK: - CustomStringConvertible
+
 extension UInt128 : CustomStringConvertible {
     public var description: String {
         return self.toString()
     }
 }
+
 // MARK: - Extend SignedInteger for UInt128
+
 extension SignedInteger {
     public init(_ value: UInt128) {
         self.init(value.toIntMax())
     }
 }
+
 // MARK: - Extend UnsignedInteger for UInt128
+
 extension UnsignedInteger {
     public init (_ value: UInt128) {
         self.init(value.toUIntMax())
     }
 }
+
 // MARK: - Extend String for UInt128
+
 extension String {
     public init(_ value: UInt128) {
         self.init()
         self.append(value.toString())
     }
+
     public init(_ value: UInt128, radix: Int, uppercase: Bool = true) {
         self.init()
         let string = value.toString(radix: radix, uppercase: uppercase)

        return result
    }
}
// MARK: - UnsignedInteger
extension UInt128 : UnsignedInteger {
    public init(_ value: UIntMax) {
        self.init(upperBits: 0, lowerBits: UInt64(value))
    }
    public init(_ value: UInt) {
        self.init(value.toUIntMax())
    }
    public init(_ value: UInt8) {
        self.init(value.toUIntMax())
    }
    public init(_ value: UInt16) {
        self.init(value.toUIntMax())
    }
    public init(_ value: UInt32) {
        self.init(value.toUIntMax())
    }
    public func toUIntMax() -> UIntMax {
        return value.lowerBits.toUIntMax()
    }
    // MARK: Hashable Conformance
    public var hashValue: Int {
        return self.value.lowerBits.hashValue ^ self.value.upperBits.hashValue
    }
    // MARK: ForwardIndexType Conformance
    @available(*, deprecated)
    public func successor() -> UInt128 {
        return self &+ 1
    }
    // MARK: BidirectionalIndexType Conformance
    @available(*, deprecated)
    public func predecessor() -> UInt128 {
        return self &- 1
    }
}
// MARK: - Strideable
extension UInt128 : Strideable {
    public typealias Stride = Int
    /// Returns an instance of UInt128 that is the current instance's
    /// value increased by `n` when `n` is positive or decreased
    /// by `n` when `n` is negative.

            try self = UInt128.fromUnparsedString(value)
        } catch { return }
    }

    // MARK: UnicodeScalarLiteralConvertible

    public typealias UnicodeScalarLiteralType = String

    public init(unicodeScalarLiteral value: UnicodeScalarLiteralType)  {
        self.init(stringLiteral: value)
    }

    // MARK: ExtendedGraphemeClusterLiteralConvertible

    public typealias ExtendedGraphemeClusterLiteralType = String

    public init(extendedGraphemeClusterLiteral value: ExtendedGraphemeClusterLiteralType) {
        self.init(stringLiteral: value)
    }
}

// MARK: - BitwiseOperations

extension UInt128 : BitwiseOperations {
    public static var allZeros: UInt128 = 0
}

/// Performs a bitwise AND operation on 2 UInt128 data types.
public func &(lhs: UInt128, rhs: UInt128) -> UInt128 {
    let upperBits = lhs.value.upperBits & rhs.value.upperBits
    let lowerBits = lhs.value.lowerBits & rhs.value.lowerBits
    return UInt128(upperBits: upperBits, lowerBits: lowerBits)
}

public func &=(lhs: inout UInt128, rhs: UInt128) {
    lhs = lhs & rhs
}

/// Performs a bitwise OR operation on 2 UInt128 data types.
public func |(lhs: UInt128, rhs: UInt128) -> UInt128 {
    let upperBits = lhs.value.upperBits | rhs.value.upperBits
    let lowerBits = lhs.value.lowerBits | rhs.value.lowerBits
    return UInt128(upperBits: upperBits, lowerBits: lowerBits)
}

public func |=(lhs: inout UInt128, rhs: UInt128) {
    lhs = lhs | rhs
}

/// Performs a bitwise XOR operation on 2 UInt128 data types.
public func ^(lhs: UInt128, rhs: UInt128) -> UInt128 {
    let upperBits = lhs.value.upperBits ^ rhs.value.upperBits
    let lowerBits = lhs.value.lowerBits ^ rhs.value.lowerBits
    return UInt128(upperBits: upperBits, lowerBits: lowerBits)
}

public func ^=(lhs: inout UInt128, rhs: UInt128) {
    lhs = lhs ^ rhs
}

/// Performs bit inversion (complement) on the provided UInt128 data type
/// and returns the result.
prefix public func ~(rhs: UInt128) -> UInt128 {
