sig   module VideoMediaMetadata :     sig       type t = { durationMillis : int64; height : int; width : int; }       val durationMillis :         (GapiDriveV3Model.File.VideoMediaMetadata.t, int64) GapiLens.t       val height :         (GapiDriveV3Model.File.VideoMediaMetadata.t, int) GapiLens.t       val width :         (GapiDriveV3Model.File.VideoMediaMetadata.t, int) GapiLens.t       val empty : GapiDriveV3Model.File.VideoMediaMetadata.t       val render :         GapiDriveV3Model.File.VideoMediaMetadata.t ->         GapiJson.json_data_model list       val parse :         GapiDriveV3Model.File.VideoMediaMetadata.t ->         GapiJson.json_data_model ->         GapiDriveV3Model.File.VideoMediaMetadata.t     end   module ImageMediaMetadata :     sig       module Location :         sig           type t = { altitude : float; latitude : float; longitude : float; }           val altitude :             (GapiDriveV3Model.File.ImageMediaMetadata.Location.t, float)             GapiLens.t           val latitude :             (GapiDriveV3Model.File.ImageMediaMetadata.Location.t, float)             GapiLens.t           val longitude :             (GapiDriveV3Model.File.ImageMediaMetadata.Location.t, float)             GapiLens.t           val empty : GapiDriveV3Model.File.ImageMediaMetadata.Location.t           val render :             GapiDriveV3Model.File.ImageMediaMetadata.Location.t ->             GapiJson.json_data_model list           val parse :             GapiDriveV3Model.File.ImageMediaMetadata.Location.t ->             GapiJson.json_data_model ->             GapiDriveV3Model.File.ImageMediaMetadata.Location.t         end       type t = {         aperture : float;         cameraMake : string;         cameraModel : string;         colorSpace : string;         exposureBias : float;         exposureMode : string;         exposureTime : float;         flashUsed : bool;         focalLength : float;         height : int;         isoSpeed : int;         lens : string;         location : GapiDriveV3Model.File.ImageMediaMetadata.Location.t;         maxApertureValue : float;         meteringMode : string;         rotation : int;         sensor : string;         subjectDistance : int;         time : string;         whiteBalance : string;         width : int;       }       val aperture :         (GapiDriveV3Model.File.ImageMediaMetadata.t, float) GapiLens.t       val cameraMake :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val cameraModel :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val colorSpace :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val exposureBias :         (GapiDriveV3Model.File.ImageMediaMetadata.t, float) GapiLens.t       val exposureMode :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val exposureTime :         (GapiDriveV3Model.File.ImageMediaMetadata.t, float) GapiLens.t       val flashUsed :         (GapiDriveV3Model.File.ImageMediaMetadata.t, bool) GapiLens.t       val focalLength :         (GapiDriveV3Model.File.ImageMediaMetadata.t, float) GapiLens.t       val height :         (GapiDriveV3Model.File.ImageMediaMetadata.t, int) GapiLens.t       val isoSpeed :         (GapiDriveV3Model.File.ImageMediaMetadata.t, int) GapiLens.t       val lens :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val location :         (GapiDriveV3Model.File.ImageMediaMetadata.t,          GapiDriveV3Model.File.ImageMediaMetadata.Location.t)         GapiLens.t       val maxApertureValue :         (GapiDriveV3Model.File.ImageMediaMetadata.t, float) GapiLens.t       val meteringMode :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val rotation :         (GapiDriveV3Model.File.ImageMediaMetadata.t, int) GapiLens.t       val sensor :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val subjectDistance :         (GapiDriveV3Model.File.ImageMediaMetadata.t, int) GapiLens.t       val time :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val whiteBalance :         (GapiDriveV3Model.File.ImageMediaMetadata.t, string) GapiLens.t       val width :         (GapiDriveV3Model.File.ImageMediaMetadata.t, int) GapiLens.t       val empty : GapiDriveV3Model.File.ImageMediaMetadata.t       val render :         GapiDriveV3Model.File.ImageMediaMetadata.t ->         GapiJson.json_data_model list       val parse :         GapiDriveV3Model.File.ImageMediaMetadata.t ->         GapiJson.json_data_model ->         GapiDriveV3Model.File.ImageMediaMetadata.t     end   module ContentHints :     sig       module Thumbnail :         sig           type t = { image : string; mimeType : string; }           val image :             (GapiDriveV3Model.File.ContentHints.Thumbnail.t, string)             GapiLens.t           val mimeType :             (GapiDriveV3Model.File.ContentHints.Thumbnail.t, string)             GapiLens.t           val empty : GapiDriveV3Model.File.ContentHints.Thumbnail.t           val render :             GapiDriveV3Model.File.ContentHints.Thumbnail.t ->             GapiJson.json_data_model list           val parse :             GapiDriveV3Model.File.ContentHints.Thumbnail.t ->             GapiJson.json_data_model ->             GapiDriveV3Model.File.ContentHints.Thumbnail.t         end       type t = {         indexableText : string;         thumbnail : GapiDriveV3Model.File.ContentHints.Thumbnail.t;       }       val indexableText :         (GapiDriveV3Model.File.ContentHints.t, string) GapiLens.t       val thumbnail :         (GapiDriveV3Model.File.ContentHints.t,          GapiDriveV3Model.File.ContentHints.Thumbnail.t)         GapiLens.t       val empty : GapiDriveV3Model.File.ContentHints.t       val render :         GapiDriveV3Model.File.ContentHints.t -> GapiJson.json_data_model list       val parse :         GapiDriveV3Model.File.ContentHints.t ->         GapiJson.json_data_model -> GapiDriveV3Model.File.ContentHints.t     end   module Capabilities :     sig       type t = {         canComment : bool;         canCopy : bool;         canEdit : bool;         canReadRevisions : bool;         canShare : bool;       }       val canComment :         (GapiDriveV3Model.File.Capabilities.t, bool) GapiLens.t       val canCopy : (GapiDriveV3Model.File.Capabilities.t, bool) GapiLens.t       val canEdit : (GapiDriveV3Model.File.Capabilities.t, bool) GapiLens.t       val canReadRevisions :         (GapiDriveV3Model.File.Capabilities.t, bool) GapiLens.t       val canShare : (GapiDriveV3Model.File.Capabilities.t, bool) GapiLens.t       val empty : GapiDriveV3Model.File.Capabilities.t       val render :         GapiDriveV3Model.File.Capabilities.t -> GapiJson.json_data_model list       val parse :         GapiDriveV3Model.File.Capabilities.t ->         GapiJson.json_data_model -> GapiDriveV3Model.File.Capabilities.t     end   type t = {     appProperties : (string * string) list;     capabilities : GapiDriveV3Model.File.Capabilities.t;     contentHints : GapiDriveV3Model.File.ContentHints.t;     createdTime : GapiDate.t;     description : string;     explicitlyTrashed : bool;     fileExtension : string;     folderColorRgb : string;     fullFileExtension : string;     headRevisionId : string;     iconLink : string;     id : string;     imageMediaMetadata : GapiDriveV3Model.File.ImageMediaMetadata.t;     isAppAuthorized : bool;     kind : string;     lastModifyingUser : GapiDriveV3Model.User.t;     md5Checksum : string;     mimeType : string;     modifiedByMe : bool;     modifiedByMeTime : GapiDate.t;     modifiedTime : GapiDate.t;     name : string;     originalFilename : string;     ownedByMe : bool;     owners : GapiDriveV3Model.User.t list;     parents : string list;     permissions : GapiDriveV3Model.Permission.t list;     properties : (string * string) list;     quotaBytesUsed : int64;     shared : bool;     sharedWithMeTime : GapiDate.t;     sharingUser : GapiDriveV3Model.User.t;     size : int64;     spaces : string list;     starred : bool;     thumbnailLink : string;     trashed : bool;     version : int64;     videoMediaMetadata : GapiDriveV3Model.File.VideoMediaMetadata.t;     viewedByMe : bool;     viewedByMeTime : GapiDate.t;     viewersCanCopyContent : bool;     webContentLink : string;     webViewLink : string;     writersCanShare : bool;   }   val appProperties :     (GapiDriveV3Model.File.t, (string * string) list) GapiLens.t   val capabilities :     (GapiDriveV3Model.File.t, GapiDriveV3Model.File.Capabilities.t)     GapiLens.t   val contentHints :     (GapiDriveV3Model.File.t, GapiDriveV3Model.File.ContentHints.t)     GapiLens.t   val createdTime : (GapiDriveV3Model.File.t, GapiDate.t) GapiLens.t   val description : (GapiDriveV3Model.File.t, string) GapiLens.t   val explicitlyTrashed : (GapiDriveV3Model.File.t, bool) GapiLens.t   val fileExtension : (GapiDriveV3Model.File.t, string) GapiLens.t   val folderColorRgb : (GapiDriveV3Model.File.t, string) GapiLens.t   val fullFileExtension : (GapiDriveV3Model.File.t, string) GapiLens.t   val headRevisionId : (GapiDriveV3Model.File.t, string) GapiLens.t   val iconLink : (GapiDriveV3Model.File.t, string) GapiLens.t   val id : (GapiDriveV3Model.File.t, string) GapiLens.t   val imageMediaMetadata :     (GapiDriveV3Model.File.t, GapiDriveV3Model.File.ImageMediaMetadata.t)     GapiLens.t   val isAppAuthorized : (GapiDriveV3Model.File.t, bool) GapiLens.t   val kind : (GapiDriveV3Model.File.t, string) GapiLens.t   val lastModifyingUser :     (GapiDriveV3Model.File.t, GapiDriveV3Model.User.t) GapiLens.t   val md5Checksum : (GapiDriveV3Model.File.t, string) GapiLens.t   val mimeType : (GapiDriveV3Model.File.t, string) GapiLens.t   val modifiedByMe : (GapiDriveV3Model.File.t, bool) GapiLens.t   val modifiedByMeTime : (GapiDriveV3Model.File.t, GapiDate.t) GapiLens.t   val modifiedTime : (GapiDriveV3Model.File.t, GapiDate.t) GapiLens.t   val name : (GapiDriveV3Model.File.t, string) GapiLens.t   val originalFilename : (GapiDriveV3Model.File.t, string) GapiLens.t   val ownedByMe : (GapiDriveV3Model.File.t, bool) GapiLens.t   val owners :     (GapiDriveV3Model.File.t, GapiDriveV3Model.User.t list) GapiLens.t   val parents : (GapiDriveV3Model.File.t, string list) GapiLens.t   val permissions :     (GapiDriveV3Model.File.t, GapiDriveV3Model.Permission.t list) GapiLens.t   val properties :     (GapiDriveV3Model.File.t, (string * string) list) GapiLens.t   val quotaBytesUsed : (GapiDriveV3Model.File.t, int64) GapiLens.t   val shared : (GapiDriveV3Model.File.t, bool) GapiLens.t   val sharedWithMeTime : (GapiDriveV3Model.File.t, GapiDate.t) GapiLens.t   val sharingUser :     (GapiDriveV3Model.File.t, GapiDriveV3Model.User.t) GapiLens.t   val size : (GapiDriveV3Model.File.t, int64) GapiLens.t   val spaces : (GapiDriveV3Model.File.t, string list) GapiLens.t   val starred : (GapiDriveV3Model.File.t, bool) GapiLens.t   val thumbnailLink : (GapiDriveV3Model.File.t, string) GapiLens.t   val trashed : (GapiDriveV3Model.File.t, bool) GapiLens.t   val version : (GapiDriveV3Model.File.t, int64) GapiLens.t   val videoMediaMetadata :     (GapiDriveV3Model.File.t, GapiDriveV3Model.File.VideoMediaMetadata.t)     GapiLens.t   val viewedByMe : (GapiDriveV3Model.File.t, bool) GapiLens.t   val viewedByMeTime : (GapiDriveV3Model.File.t, GapiDate.t) GapiLens.t   val viewersCanCopyContent : (GapiDriveV3Model.File.t, bool) GapiLens.t   val webContentLink : (GapiDriveV3Model.File.t, string) GapiLens.t   val webViewLink : (GapiDriveV3Model.File.t, string) GapiLens.t   val writersCanShare : (GapiDriveV3Model.File.t, bool) GapiLens.t   val empty : GapiDriveV3Model.File.t   val render : GapiDriveV3Model.File.t -> GapiJson.json_data_model list   val parse :     GapiDriveV3Model.File.t ->     GapiJson.json_data_model -> GapiDriveV3Model.File.t   val to_data_model : GapiDriveV3Model.File.t -> GapiJson.json_data_model   val of_data_model : GapiJson.json_data_model -> GapiDriveV3Model.File.t end