         return blurLayer
     }
     
-    fileprivate var queue: DispatchQueue {
+    private var queue: DispatchQueue {
         if #available (iOS 8.0, *) {
             return DispatchQueue.global(qos: .userInteractive)
         } else {

import Accelerate

open class DynamicBlurView: UIView {
    fileprivate class BlurLayer: CALayer {
        static let BlurRadiusKey = "blurRadius"
        @NSManaged var blurRadius: CGFloat
        

        }
    }
    
    public enum CaptureImageQuality {
        case `default`
        case low
        case medium
        case high
        
        var imageScale: CGFloat {
            switch self {
            case .default, .high:
                return 0
            case .low, .medium:
                return  1
            }
        }
        
        var contextInterpolation: CGInterpolationQuality {
            switch self {
            case .default, .low:
                return .none
            case .medium, .high:
                return .default
            }
        }

    }
    
    private var staticImage: UIImage?
    private var fromBlurRadius: CGFloat?
    private var displayLink: CADisplayLink?
    private let DisplayLinkSelector: Selector = #selector(DynamicBlurView.displayDidRefresh(_:))
    private var blurLayer: BlurLayer {
        return layer as! BlurLayer
    }
    
    private var blurPresentationLayer: BlurLayer {
        if let layer = blurLayer.presentation() {
            return layer
        }
