                     return self.convert(view.frame, from: view.superview)
                 }
             }()
-            if bypassRect.contains(point) { return nil }
+            if bypassRect.contains(point) {
+                availableAction?()
+                return nil
+            }
         }
         
         return super.hitTest(point, with: event)

    
    open func makeAvailable(rect: CGRect, radiusInset: CGFloat) {
        focus = (TouchArea.rect(rect: rect), MaskArea.radiusInset(radiusInset: radiusInset))
    }
    
    open override func layoutSubviews() {

        layer.insertSublayer(backgroundLayer, at: 0)
    }
    
    open override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesEnded(touches, with: event)
        unavailableAction?()
    }
    
    open override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
        if let focus = focus {
            let bypassRect: CGRect = {
