# This file is generated by objective.metadata
#
# Last update: Sun Jun 28 11:45:05 2020
#
# flake8: noqa

import objc, sys

if sys.maxsize > 2 ** 32:

    def sel32or64(a, b):
        return b


else:

    def sel32or64(a, b):
        return a


misc = {}
constants = """$PHContentEditingInputCancelledKey$PHContentEditingInputErrorKey$PHContentEditingInputResultIsInCloudKey$PHImageCancelledKey$PHImageErrorKey$PHImageManagerMaximumSize@{CGSize=dd}$PHImageResultIsDegradedKey$PHImageResultIsInCloudKey$PHImageResultRequestIDKey$PHLivePhotoEditingErrorDomain$PHLivePhotoInfoCancelledKey$PHLivePhotoInfoErrorKey$PHLivePhotoInfoIsDegradedKey$PHLivePhotoShouldRenderAtPlaybackTime$PHLocalIdentifierNotFound$PHPhotosErrorDomain$"""
enums = """$PHAccessLevelAddOnly@1$PHAccessLevelReadWrite@2$PHAssetBurstSelectionTypeAutoPick@1$PHAssetBurstSelectionTypeNone@0$PHAssetBurstSelectionTypeUserPick@2$PHAssetCollectionSubtypeAlbumCloudShared@101$PHAssetCollectionSubtypeAlbumImported@6$PHAssetCollectionSubtypeAlbumMyPhotoStream@100$PHAssetCollectionSubtypeAlbumRegular@2$PHAssetCollectionSubtypeAlbumSyncedAlbum@5$PHAssetCollectionSubtypeAlbumSyncedEvent@3$PHAssetCollectionSubtypeAlbumSyncedFaces@4$PHAssetCollectionSubtypeAny@9223372036854775807$PHAssetCollectionSubtypeSmartAlbumAllHidden@205$PHAssetCollectionSubtypeSmartAlbumAnimated@214$PHAssetCollectionSubtypeSmartAlbumBursts@207$PHAssetCollectionSubtypeSmartAlbumDepthEffect@212$PHAssetCollectionSubtypeSmartAlbumFavorites@203$PHAssetCollectionSubtypeSmartAlbumGeneric@200$PHAssetCollectionSubtypeSmartAlbumLivePhotos@213$PHAssetCollectionSubtypeSmartAlbumLongExposures@215$PHAssetCollectionSubtypeSmartAlbumPanoramas@201$PHAssetCollectionSubtypeSmartAlbumRecentlyAdded@206$PHAssetCollectionSubtypeSmartAlbumScreenshots@211$PHAssetCollectionSubtypeSmartAlbumSelfPortraits@210$PHAssetCollectionSubtypeSmartAlbumSlomoVideos@208$PHAssetCollectionSubtypeSmartAlbumTimelapses@204$PHAssetCollectionSubtypeSmartAlbumUnableToUpload@216$PHAssetCollectionSubtypeSmartAlbumUserLibrary@209$PHAssetCollectionSubtypeSmartAlbumVideos@202$PHAssetCollectionTypeAlbum@1$PHAssetCollectionTypeMoment@3$PHAssetCollectionTypeSmartAlbum@2$PHAssetEditOperationContent@2$PHAssetEditOperationDelete@1$PHAssetEditOperationProperties@3$PHAssetMediaSubtypeNone@0$PHAssetMediaSubtypePhotoDepthEffect@16$PHAssetMediaSubtypePhotoHDR@2$PHAssetMediaSubtypePhotoLive@8$PHAssetMediaSubtypePhotoPanorama@1$PHAssetMediaSubtypePhotoScreenshot@4$PHAssetMediaSubtypeVideoHighFrameRate@131072$PHAssetMediaSubtypeVideoStreamed@65536$PHAssetMediaSubtypeVideoTimelapse@262144$PHAssetMediaTypeAudio@3$PHAssetMediaTypeImage@1$PHAssetMediaTypeUnknown@0$PHAssetMediaTypeVideo@2$PHAssetPlaybackStyleImage@1$PHAssetPlaybackStyleImageAnimated@2$PHAssetPlaybackStyleLivePhoto@3$PHAssetPlaybackStyleUnsupported@0$PHAssetPlaybackStyleVideo@4$PHAssetPlaybackStyleVideoLooping@5$PHAssetResourceTypeAdjustmentBasePairedVideo@11$PHAssetResourceTypeAdjustmentBasePhoto@8$PHAssetResourceTypeAdjustmentBaseVideo@12$PHAssetResourceTypeAdjustmentData@7$PHAssetResourceTypeAlternatePhoto@4$PHAssetResourceTypeAudio@3$PHAssetResourceTypeFullSizePairedVideo@10$PHAssetResourceTypeFullSizePhoto@5$PHAssetResourceTypeFullSizeVideo@6$PHAssetResourceTypePairedVideo@9$PHAssetResourceTypePhoto@1$PHAssetResourceTypeVideo@2$PHAssetSourceTypeCloudShared@2$PHAssetSourceTypeNone@0$PHAssetSourceTypeUserLibrary@1$PHAssetSourceTypeiTunesSynced@4$PHAuthorizationStatusAuthorized@3$PHAuthorizationStatusDenied@2$PHAuthorizationStatusLimited@4$PHAuthorizationStatusNotDetermined@0$PHAuthorizationStatusRestricted@1$PHCollectionEditOperationAddContent@3$PHCollectionEditOperationCreateContent@4$PHCollectionEditOperationDelete@6$PHCollectionEditOperationDeleteContent@1$PHCollectionEditOperationRearrangeContent@5$PHCollectionEditOperationRemoveContent@2$PHCollectionEditOperationRename@7$PHCollectionListSubtypeAny@9223372036854775807$PHCollectionListSubtypeMomentListCluster@1$PHCollectionListSubtypeMomentListYear@2$PHCollectionListSubtypeRegularFolder@100$PHCollectionListSubtypeSmartFolderEvents@200$PHCollectionListSubtypeSmartFolderFaces@201$PHCollectionListTypeFolder@2$PHCollectionListTypeMomentList@1$PHCollectionListTypeSmartFolder@3$PHImageContentModeAspectFill@1$PHImageContentModeAspectFit@0$PHImageContentModeDefault@0$PHImageRequestOptionsDeliveryModeFastFormat@2$PHImageRequestOptionsDeliveryModeHighQualityFormat@1$PHImageRequestOptionsDeliveryModeOpportunistic@0$PHImageRequestOptionsResizeModeExact@2$PHImageRequestOptionsResizeModeFast@1$PHImageRequestOptionsResizeModeNone@0$PHImageRequestOptionsVersionCurrent@0$PHImageRequestOptionsVersionOriginal@2$PHImageRequestOptionsVersionUnadjusted@1$PHInvalidAssetResourceDataRequestID@0$PHInvalidImageRequestID@0$PHLivePhotoEditingErrorCodeAborted@1$PHLivePhotoEditingErrorCodeUnknown@0$PHLivePhotoFrameTypePhoto@0$PHLivePhotoFrameTypeVideo@1$PHLivePhotoRequestIDInvalid@0$PHPhotosErrorInvalid@-1$PHPhotosErrorLibraryVolumeOffline@3114$PHPhotosErrorNetworkAccessRequired@3164$PHPhotosErrorRelinquishingLibraryBundleToWriter@3142$PHPhotosErrorSwitchingSystemPhotoLibrary@3143$PHPhotosErrorUserCancelled@3072$PHVideoRequestOptionsDeliveryModeAutomatic@0$PHVideoRequestOptionsDeliveryModeFastFormat@3$PHVideoRequestOptionsDeliveryModeHighQualityFormat@1$PHVideoRequestOptionsDeliveryModeMediumQualityFormat@2$PHVideoRequestOptionsVersionCurrent@0$PHVideoRequestOptionsVersionOriginal@1$"""
misc.update({})
aliases = {
    "PHCollectionListSubtypeAny": "NSIntegerMax",
    "PHAssetCollectionSubtypeAny": "NSIntegerMax",
    "PHImageContentModeDefault": "PHImageContentModeAspectFit",
}
r = objc.registerMetaDataForSelector
objc._updatingMetadata(True)
try:
    r(b"NSObject", b"image", {"required": True, "retval": {"type": b"@"}})
    r(
        b"NSObject",
        b"photoLibraryDidBecomeUnavailable:",
        {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"photoLibraryDidChange:",
        {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"renderScale",
        {"required": True, "retval": {"type": sel32or64(b"f", b"d")}},
    )
    r(b"NSObject", b"time", {"required": True, "retval": {"type": "{_CMTime=qiIq}"}})
    r(
        b"NSObject",
        b"type",
        {"required": True, "retval": {"type": sel32or64(b"i", b"q")}},
    )
    r(b"PHAsset", b"canPerformEditOperation:", {"retval": {"type": "Z"}})
    r(b"PHAsset", b"isFavorite", {"retval": {"type": "Z"}})
    r(b"PHAsset", b"isHidden", {"retval": {"type": "Z"}})
    r(b"PHAsset", b"isSyncFailureHidden", {"retval": {"type": "Z"}})
    r(b"PHAsset", b"representsBurst", {"retval": {"type": "Z"}})
    r(
        b"PHAsset",
        b"requestContentEditingInputWithOptions:completionHandler:",
        {
            "arguments": {
                3: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(b"PHAssetChangeRequest", b"isFavorite", {"retval": {"type": b"Z"}})
    r(b"PHAssetChangeRequest", b"isHidden", {"retval": {"type": b"Z"}})
    r(b"PHAssetChangeRequest", b"setFavorite:", {"arguments": {2: {"type": b"Z"}}})
    r(b"PHAssetChangeRequest", b"setHidden:", {"arguments": {2: {"type": b"Z"}}})
    r(
        b"PHAssetCreationRequest",
        b"supportsAssetResourceTypes:",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"PHAssetResourceCreationOptions",
        b"setShouldMoveFile:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"PHAssetResourceCreationOptions", b"shouldMoveFile", {"retval": {"type": b"Z"}})
    r(
        b"PHAssetResourceManager",
        b"requestDataForAssetResource:options:dataReceivedHandler:completionHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
                    }
                },
                5: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
                    }
                },
            }
        },
    )
    r(
        b"PHAssetResourceManager",
        b"writeDataForAssetResource:toFile:options:completionHandler:",
        {
            "arguments": {
                5: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
                    }
                }
            }
        },
    )
    r(
        b"PHAssetResourceRequestOptions",
        b"isNetworkAccessAllowed",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"PHAssetResourceRequestOptions",
        b"setNetworkAccessAllowed:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(
        b"PHAssetResourceRequestOptions",
        b"setProgressHandler:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}},
                    }
                }
            }
        },
    )
    r(
        b"PHCachingImageManager",
        b"allowsCachingHighQualityImages",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"PHCachingImageManager",
        b"setAllowsCachingHighQualityImages:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"PHCollection", b"canContainAssets", {"retval": {"type": b"Z"}})
    r(b"PHCollection", b"canContainCollections", {"retval": {"type": b"Z"}})
    r(b"PHCollection", b"canPerformEditOperation:", {"retval": {"type": b"Z"}})
    r(
        b"PHContentEditingInputRequestOptions",
        b"isNetworkAccessAllowed",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"PHContentEditingInputRequestOptions",
        b"progressHandler",
        {
            "retval": {
                "callable": {
                    "retval": {"type": b"v"},
                    "arguments": {
                        0: {"type": b"^v"},
                        1: {"type": b"d"},
                        2: {"type": b"o^Z"},
                    },
                }
            }
        },
    )
    r(
        b"PHContentEditingInputRequestOptions",
        b"setCanHandleAdjustmentData:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}},
                    }
                }
            }
        },
    )
    r(
        b"PHContentEditingInputRequestOptions",
        b"setNetworkAccessAllowed:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(
        b"PHContentEditingInputRequestOptions",
        b"setProgressHandler:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"d"},
                            2: {"type": b"o^Z"},
                        },
                    }
                }
            }
        },
    )
    r(b"PHFetchOptions", b"includeAllBurstAssets", {"retval": {"type": b"Z"}})
    r(b"PHFetchOptions", b"includeHiddenAssets", {"retval": {"type": "Z"}})
    r(
        b"PHFetchOptions",
        b"setIncludeAllBurstAssets:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"PHFetchOptions", b"setIncludeHiddenAssets:", {"arguments": {2: {"type": "Z"}}})
    r(
        b"PHFetchOptions",
        b"setWantsIncrementalChangeDetails:",
        {"arguments": {2: {"type": "Z"}}},
    )
    r(b"PHFetchOptions", b"wantsIncrementalChangeDetails", {"retval": {"type": "Z"}})
    r(b"PHFetchResult", b"containsObject:", {"retval": {"type": "Z"}})
    r(
        b"PHFetchResult",
        b"enumerateObjectsAtIndexes:options:usingBlock:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": sel32or64(b"I", b"Q")},
                            3: {"type": b"o^Z"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHFetchResult",
        b"enumerateObjectsUsingBlock:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": sel32or64(b"I", b"Q")},
                            3: {"type": b"o^Z"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHFetchResult",
        b"enumerateObjectsWithOptions:usingBlock:",
        {
            "arguments": {
                3: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": sel32or64(b"I", b"Q")},
                            3: {"type": b"o^Z"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHFetchResultChangeDetails",
        b"enumerateMovesWithBlock:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"Q"},
                            2: {"type": b"Q"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHFetchResultChangeDetails",
        b"hasIncrementalChanges",
        {"retval": {"type": "Z"}},
    )
    r(b"PHFetchResultChangeDetails", b"hasMoves", {"retval": {"type": "Z"}})
    r(
        b"PHImageManager",
        b"requestAVAssetForVideo:options:resultHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHImageManager",
        b"requestExportSessionForVideo:options:exportPreset:resultHandler:",
        {
            "arguments": {
                5: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHImageManager",
        b"requestImageDataAndOrientationForAsset:options:resultHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"I"},
                            4: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHImageManager",
        b"requestImageDataForAsset:options:resultHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"I"},
                            4: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHImageManager",
        b"requestImageForAsset:targetSize:contentMode:options:resultHandler:",
        {
            "arguments": {
                6: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHImageManager",
        b"requestLivePhotoForAsset:targetSize:contentMode:options:resultHandler:",
        {
            "arguments": {
                6: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHImageManager",
        b"requestPlayerItemForVideo:options:resultHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(b"PHImageRequestOptions", b"isNetworkAccessAllowed", {"retval": {"type": "Z"}})
    r(b"PHImageRequestOptions", b"isSynchronous", {"retval": {"type": "Z"}})
    r(
        b"PHImageRequestOptions",
        b"progressHandler",
        {
            "retval": {
                "callable": {
                    "retval": {"type": b"v"},
                    "arguments": {
                        0: {"type": b"^v"},
                        1: {"type": b"d"},
                        2: {"type": b"@"},
                        3: {"type": b"o^Z"},
                        4: {"type": b"@"},
                    },
                }
            }
        },
    )
    r(
        b"PHImageRequestOptions",
        b"setNetworkAccessAllowed:",
        {"arguments": {2: {"type": "Z"}}},
    )
    r(
        b"PHImageRequestOptions",
        b"setProgressHandler:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"d"},
                            2: {"type": b"@"},
                            3: {"type": b"o^Z"},
                            4: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(b"PHImageRequestOptions", b"setSynchronous:", {"arguments": {2: {"type": "Z"}}})
    r(
        b"PHLivePhoto",
        b"requestLivePhotoWithResourceFileURLs:placeholderImage:targetSize:contentMode:resultHandler:",
        {
            "arguments": {
                6: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHLivePhotoEditingContext",
        b"duration",
        {"retval": {"type": b"{_CMTime=qiIq}"}},
    )
    r(
        b"PHLivePhotoEditingContext",
        b"frameProcessor",
        {
            "retval": {
                "callable": {
                    "retval": {"type": b"@"},
                    "arguments": {
                        0: {"type": b"^v"},
                        1: {"type": b"@"},
                        2: {"type": b"o^@"},
                    },
                }
            }
        },
    )
    r(
        b"PHLivePhotoEditingContext",
        b"photoTime",
        {"retval": {"type": b"{_CMTime=qiIq}"}},
    )
    r(
        b"PHLivePhotoEditingContext",
        b"prepareLivePhotoForPlaybackWithTargetSize:options:completionHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"Z"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHLivePhotoEditingContext",
        b"saveLivePhotoToOutput:options:completionHandler:",
        {
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"Z"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHLivePhotoEditingContext",
        b"setFrameProcessor:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"@"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"o^@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"PHLivePhotoRequestOptions",
        b"isNetworkAccessAllowed",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"PHLivePhotoRequestOptions",
        b"progressHandler",
        {
            "retval": {
                "callable": {
                    "retval": {"type": b"v"},
                    "arguments": {
                        0: {"type": b"^v"},
                        1: {"type": b"d"},
                        2: {"type": b"@"},
                        3: {"type": b"o^Z"},
                        4: {"type": b"@"},
                    },
                }
            }
        },
    )
    r(
        b"PHLivePhotoRequestOptions",
        b"setNetworkAccessAllowed:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(
        b"PHLivePhotoRequestOptions",
        b"setProgressHandler:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"d"},
                            2: {"type": b"@"},
                            3: {"type": b"o^Z"},
                            4: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(b"PHObjectChangeDetails", b"assetContentChanged", {"retval": {"type": "Z"}})
    r(b"PHObjectChangeDetails", b"objectWasDeleted", {"retval": {"type": "Z"}})
    r(
        b"PHPhotoLibrary",
        b"performChanges:completionHandler:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"@?"},
                        "arguments": {0: {"type": b"^v"}},
                    }
                },
                3: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"Z"},
                            2: {"type": b"@"},
                        },
                    }
                },
            }
        },
    )
    r(
        b"PHPhotoLibrary",
        b"performChangesAndWait:error:",
        {
            "retval": {"type": "Z"},
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"@?"},
                        "arguments": {0: {"type": b"^v"}},
                    }
                },
                3: {"type_modifier": b"o"},
            },
        },
    )
    r(
        b"PHPhotoLibrary",
        b"requestAuthorization:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}},
                    }
                }
            }
        },
    )
    r(
        b"PHPhotoLibrary",
        b"requestAuthorizationForAccessLevel:handler:",
        {
            "arguments": {
                3: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}},
                    }
                }
            }
        },
    )
    r(b"PHProject", b"hasProjectPreview", {"retval": {"type": "Z"}})
    r(b"PHVideoRequestOptions", b"isNetworkAccessAllowed", {"retval": {"type": b"Z"}})
    r(
        b"PHVideoRequestOptions",
        b"progressHandler",
        {
            "comment": "XXX",
            "retval": {
                "callable": {
                    "retval": {"type": b"v"},
                    "arguments": {
                        0: {"type": b"^v"},
                        1: {"type": b"d"},
                        2: {"type": b"@"},
                        3: {"type": b"o^Z"},
                        4: {"type": b"@"},
                    },
                }
            },
        },
    )
    r(
        b"PHVideoRequestOptions",
        b"setNetworkAccessAllowed:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(
        b"PHVideoRequestOptions",
        b"setProgressHandler:",
        {
            "arguments": {
                2: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"d"},
                            2: {"type": b"@"},
                            3: {"type": b"o^Z"},
                            4: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
    r(
        b"null",
        b"requestContentEditingInputWithOptions:completionHandler:",
        {
            "arguments": {
                3: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                        },
                    }
                }
            }
        },
    )
finally:
    objc._updatingMetadata(False)
expressions = {}

# END OF FILE
