     let footerReuseIdentifier: String = UUID().uuidString
     
     let fetchService = AssetsFetchService()
+    
+    var previousPreheatRect: CGRect = .zero
     
     lazy var cancelButtonItem: UIBarButtonItem = {
         let buttonItem = UIBarButtonItem(barButtonSystemItem: .cancel,

        if traitCollection.forceTouchCapability == .available {
            previewing = registerForPreviewing(with: self, sourceView: collectionView)
        }
    }
    
    override open func viewDidDisappear(_ animated: Bool) {

    
    open func deselectAll() {
        var indexPaths = [IndexPath]()
        guard let fetchResult = AssetsManager.shared.fetchResult else { return }
        for selectedAsset in selectedArray {
            let row = fetchResult.index(of: selectedAsset)
            let indexPath = IndexPath(row: row, section: 0)
            deselectCell(at: indexPath)
            delegate?.assetsPicker?(controller: picker, didDeselect: selectedAsset, at: indexPath)
            indexPaths.append(indexPath)
        }
        updateSelectionCount()
        updateNavigationStatus()
