{"version":3,"sources":["../../../../generated/google/firestore/v1/bloom_filter.ts","../../../../generated/google/protobuf/timestamp.ts","../../../../generated/google/firestore/v1/common.ts","../../../../generated/google/protobuf/struct.ts","../../../../generated/google/type/latlng.ts","../../../../generated/google/firestore/v1/document.ts","../../../../generated/google/firestore/v1/write.ts"],"sourcesContent":["/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/firestore/v1/bloom_filter.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class BitSequence extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        bitmap?: Uint8Array;\n        padding?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"bitmap\" in data && data.bitmap != undefined) {\n                this.bitmap = data.bitmap;\n            }\n            if (\"padding\" in data && data.padding != undefined) {\n                this.padding = data.padding;\n            }\n        }\n    }\n    get bitmap() {\n        return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;\n    }\n    set bitmap(value: Uint8Array) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get padding() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set padding(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        bitmap?: Uint8Array;\n        padding?: number;\n    }): BitSequence {\n        const message = new BitSequence({});\n        if (data.bitmap != null) {\n            message.bitmap = data.bitmap;\n        }\n        if (data.padding != null) {\n            message.padding = data.padding;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            bitmap?: Uint8Array;\n            padding?: number;\n        } = {};\n        if (this.bitmap != null) {\n            data.bitmap = this.bitmap;\n        }\n        if (this.padding != null) {\n            data.padding = this.padding;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.bitmap.length)\n            writer.writeBytes(1, this.bitmap);\n        if (this.padding != 0)\n            writer.writeInt32(2, this.padding);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BitSequence {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BitSequence();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.bitmap = reader.readBytes();\n                    break;\n                case 2:\n                    message.padding = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BitSequence {\n        return BitSequence.deserialize(bytes);\n    }\n}\nexport class BloomFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        bits?: BitSequence;\n        hash_count?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"bits\" in data && data.bits != undefined) {\n                this.bits = data.bits;\n            }\n            if (\"hash_count\" in data && data.hash_count != undefined) {\n                this.hash_count = data.hash_count;\n            }\n        }\n    }\n    get bits() {\n        return pb_1.Message.getWrapperField(this, BitSequence, 1) as BitSequence;\n    }\n    set bits(value: BitSequence) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_bits() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get hash_count() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set hash_count(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        bits?: ReturnType<typeof BitSequence.prototype.toObject>;\n        hash_count?: number;\n    }): BloomFilter {\n        const message = new BloomFilter({});\n        if (data.bits != null) {\n            message.bits = BitSequence.fromObject(data.bits);\n        }\n        if (data.hash_count != null) {\n            message.hash_count = data.hash_count;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            bits?: ReturnType<typeof BitSequence.prototype.toObject>;\n            hash_count?: number;\n        } = {};\n        if (this.bits != null) {\n            data.bits = this.bits.toObject();\n        }\n        if (this.hash_count != null) {\n            data.hash_count = this.hash_count;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_bits)\n            writer.writeMessage(1, this.bits, () => this.bits.serialize(writer));\n        if (this.hash_count != 0)\n            writer.writeInt32(2, this.hash_count);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BloomFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BloomFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.bits, () => message.bits = BitSequence.deserialize(reader));\n                    break;\n                case 2:\n                    message.hash_count = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BloomFilter {\n        return BloomFilter.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/protobuf/timestamp.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class Timestamp extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        seconds?: number;\n        nanos?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"seconds\" in data && data.seconds != undefined) {\n                this.seconds = data.seconds;\n            }\n            if (\"nanos\" in data && data.nanos != undefined) {\n                this.nanos = data.nanos;\n            }\n        }\n    }\n    get seconds() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set seconds(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get nanos() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set nanos(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        seconds?: number;\n        nanos?: number;\n    }): Timestamp {\n        const message = new Timestamp({});\n        if (data.seconds != null) {\n            message.seconds = data.seconds;\n        }\n        if (data.nanos != null) {\n            message.nanos = data.nanos;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            seconds?: number;\n            nanos?: number;\n        } = {};\n        if (this.seconds != null) {\n            data.seconds = this.seconds;\n        }\n        if (this.nanos != null) {\n            data.nanos = this.nanos;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.seconds != 0)\n            writer.writeInt64(1, this.seconds);\n        if (this.nanos != 0)\n            writer.writeInt32(2, this.nanos);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Timestamp {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Timestamp();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.seconds = reader.readInt64();\n                    break;\n                case 2:\n                    message.nanos = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Timestamp {\n        return Timestamp.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/firestore/v1/common.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../protobuf/timestamp\";\nimport * as pb_1 from \"google-protobuf\";\nexport class DocumentMask extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field_paths?: string[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field_paths\" in data && data.field_paths != undefined) {\n                this.field_paths = data.field_paths;\n            }\n        }\n    }\n    get field_paths() {\n        return pb_1.Message.getFieldWithDefault(this, 1, []) as string[];\n    }\n    set field_paths(value: string[]) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        field_paths?: string[];\n    }): DocumentMask {\n        const message = new DocumentMask({});\n        if (data.field_paths != null) {\n            message.field_paths = data.field_paths;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field_paths?: string[];\n        } = {};\n        if (this.field_paths != null) {\n            data.field_paths = this.field_paths;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.field_paths.length)\n            writer.writeRepeatedString(1, this.field_paths);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentMask {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentMask();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    pb_1.Message.addToRepeatedField(message, 1, reader.readString());\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DocumentMask {\n        return DocumentMask.deserialize(bytes);\n    }\n}\nexport class Precondition extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2]];\n    constructor(data?: any[] | ({} & (({\n        exists?: boolean;\n        update_time?: never;\n    } | {\n        exists?: never;\n        update_time?: dependency_1.Timestamp;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"exists\" in data && data.exists != undefined) {\n                this.exists = data.exists;\n            }\n            if (\"update_time\" in data && data.update_time != undefined) {\n                this.update_time = data.update_time;\n            }\n        }\n    }\n    get exists() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set exists(value: boolean) {\n        pb_1.Message.setOneofField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_exists() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get update_time() {\n        return pb_1.Message.getWrapperField(this, dependency_1.Timestamp, 2) as dependency_1.Timestamp;\n    }\n    set update_time(value: dependency_1.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_update_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get condition_type() {\n        const cases: {\n            [index: number]: \"none\" | \"exists\" | \"update_time\";\n        } = {\n            0: \"none\",\n            1: \"exists\",\n            2: \"update_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2])];\n    }\n    static fromObject(data: {\n        exists?: boolean;\n        update_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n    }): Precondition {\n        const message = new Precondition({});\n        if (data.exists != null) {\n            message.exists = data.exists;\n        }\n        if (data.update_time != null) {\n            message.update_time = dependency_1.Timestamp.fromObject(data.update_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            exists?: boolean;\n            update_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.exists != null) {\n            data.exists = this.exists;\n        }\n        if (this.update_time != null) {\n            data.update_time = this.update_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_exists)\n            writer.writeBool(1, this.exists);\n        if (this.has_update_time)\n            writer.writeMessage(2, this.update_time, () => this.update_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Precondition {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Precondition();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.exists = reader.readBool();\n                    break;\n                case 2:\n                    reader.readMessage(message.update_time, () => message.update_time = dependency_1.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Precondition {\n        return Precondition.deserialize(bytes);\n    }\n}\nexport class TransactionOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3]];\n    constructor(data?: any[] | ({} & (({\n        read_only?: TransactionOptionsReadOnly;\n        read_write?: never;\n    } | {\n        read_only?: never;\n        read_write?: TransactionOptionsReadWrite;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"read_only\" in data && data.read_only != undefined) {\n                this.read_only = data.read_only;\n            }\n            if (\"read_write\" in data && data.read_write != undefined) {\n                this.read_write = data.read_write;\n            }\n        }\n    }\n    get read_only() {\n        return pb_1.Message.getWrapperField(this, TransactionOptionsReadOnly, 2) as TransactionOptionsReadOnly;\n    }\n    set read_only(value: TransactionOptionsReadOnly) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_read_only() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get read_write() {\n        return pb_1.Message.getWrapperField(this, TransactionOptionsReadWrite, 3) as TransactionOptionsReadWrite;\n    }\n    set read_write(value: TransactionOptionsReadWrite) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_read_write() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get mode() {\n        const cases: {\n            [index: number]: \"none\" | \"read_only\" | \"read_write\";\n        } = {\n            0: \"none\",\n            2: \"read_only\",\n            3: \"read_write\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3])];\n    }\n    static fromObject(data: {\n        read_only?: ReturnType<typeof TransactionOptionsReadOnly.prototype.toObject>;\n        read_write?: ReturnType<typeof TransactionOptionsReadWrite.prototype.toObject>;\n    }): TransactionOptions {\n        const message = new TransactionOptions({});\n        if (data.read_only != null) {\n            message.read_only = TransactionOptionsReadOnly.fromObject(data.read_only);\n        }\n        if (data.read_write != null) {\n            message.read_write = TransactionOptionsReadWrite.fromObject(data.read_write);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            read_only?: ReturnType<typeof TransactionOptionsReadOnly.prototype.toObject>;\n            read_write?: ReturnType<typeof TransactionOptionsReadWrite.prototype.toObject>;\n        } = {};\n        if (this.read_only != null) {\n            data.read_only = this.read_only.toObject();\n        }\n        if (this.read_write != null) {\n            data.read_write = this.read_write.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_read_only)\n            writer.writeMessage(2, this.read_only, () => this.read_only.serialize(writer));\n        if (this.has_read_write)\n            writer.writeMessage(3, this.read_write, () => this.read_write.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TransactionOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TransactionOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.read_only, () => message.read_only = TransactionOptionsReadOnly.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.read_write, () => message.read_write = TransactionOptionsReadWrite.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): TransactionOptions {\n        return TransactionOptions.deserialize(bytes);\n    }\n}\nexport class TransactionOptionsReadWrite extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        retry_transaction?: Uint8Array;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"retry_transaction\" in data && data.retry_transaction != undefined) {\n                this.retry_transaction = data.retry_transaction;\n            }\n        }\n    }\n    get retry_transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;\n    }\n    set retry_transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        retry_transaction?: Uint8Array;\n    }): TransactionOptionsReadWrite {\n        const message = new TransactionOptionsReadWrite({});\n        if (data.retry_transaction != null) {\n            message.retry_transaction = data.retry_transaction;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            retry_transaction?: Uint8Array;\n        } = {};\n        if (this.retry_transaction != null) {\n            data.retry_transaction = this.retry_transaction;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.retry_transaction.length)\n            writer.writeBytes(1, this.retry_transaction);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TransactionOptionsReadWrite {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TransactionOptionsReadWrite();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.retry_transaction = reader.readBytes();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): TransactionOptionsReadWrite {\n        return TransactionOptionsReadWrite.deserialize(bytes);\n    }\n}\nexport class TransactionOptionsReadOnly extends pb_1.Message {\n    #one_of_decls: number[][] = [[2]];\n    constructor(data?: any[] | ({} & (({\n        read_time?: dependency_1.Timestamp;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_1.Timestamp, 2) as dependency_1.Timestamp;\n    }\n    set read_time(value: dependency_1.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"read_time\";\n        } = {\n            0: \"none\",\n            2: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2])];\n    }\n    static fromObject(data: {\n        read_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n    }): TransactionOptionsReadOnly {\n        const message = new TransactionOptionsReadOnly({});\n        if (data.read_time != null) {\n            message.read_time = dependency_1.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            read_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_read_time)\n            writer.writeMessage(2, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TransactionOptionsReadOnly {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TransactionOptionsReadOnly();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_1.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): TransactionOptionsReadOnly {\n        return TransactionOptionsReadOnly.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/protobuf/struct.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport enum NullValue {\n    NULL_VALUE = 0\n}\nexport class Struct extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        fields?: Map<string, Value>;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n        }\n        if (!this.fields)\n            this.fields = new Map();\n    }\n    get fields() {\n        return pb_1.Message.getField(this, 1) as any as Map<string, Value>;\n    }\n    set fields(value: Map<string, Value>) {\n        pb_1.Message.setField(this, 1, value as any);\n    }\n    static fromObject(data: {\n        fields?: {\n            [key: string]: ReturnType<typeof Value.prototype.toObject>;\n        };\n    }): Struct {\n        const message = new Struct({});\n        if (typeof data.fields == \"object\") {\n            message.fields = new Map(Object.entries(data.fields).map(([key, value]) => [key, Value.fromObject(value)]));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            fields?: {\n                [key: string]: ReturnType<typeof Value.prototype.toObject>;\n            };\n        } = {};\n        if (this.fields != null) {\n            data.fields = (Object.fromEntries)((Array.from)(this.fields).map(([key, value]) => [key, value.toObject()]));\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        for (const [key, value] of this.fields) {\n            writer.writeMessage(1, this.fields, () => {\n                writer.writeString(1, key);\n                writer.writeMessage(2, value, () => value.serialize(writer));\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Struct {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Struct();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = Value.deserialize(reader));\n                        return value;\n                    }));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Struct {\n        return Struct.deserialize(bytes);\n    }\n}\nexport class Value extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 3, 4, 5, 6]];\n    constructor(data?: any[] | ({} & (({\n        null_value?: NullValue;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: number;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: string;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: boolean;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: Struct;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: ListValue;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"null_value\" in data && data.null_value != undefined) {\n                this.null_value = data.null_value;\n            }\n            if (\"number_value\" in data && data.number_value != undefined) {\n                this.number_value = data.number_value;\n            }\n            if (\"string_value\" in data && data.string_value != undefined) {\n                this.string_value = data.string_value;\n            }\n            if (\"bool_value\" in data && data.bool_value != undefined) {\n                this.bool_value = data.bool_value;\n            }\n            if (\"struct_value\" in data && data.struct_value != undefined) {\n                this.struct_value = data.struct_value;\n            }\n            if (\"list_value\" in data && data.list_value != undefined) {\n                this.list_value = data.list_value;\n            }\n        }\n    }\n    get null_value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, NullValue.NULL_VALUE) as NullValue;\n    }\n    set null_value(value: NullValue) {\n        pb_1.Message.setOneofField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_null_value() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get number_value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set number_value(value: number) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_number_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get string_value() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set string_value(value: string) {\n        pb_1.Message.setOneofField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_string_value() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get bool_value() {\n        return pb_1.Message.getFieldWithDefault(this, 4, false) as boolean;\n    }\n    set bool_value(value: boolean) {\n        pb_1.Message.setOneofField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_bool_value() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get struct_value() {\n        return pb_1.Message.getWrapperField(this, Struct, 5) as Struct;\n    }\n    set struct_value(value: Struct) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_struct_value() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get list_value() {\n        return pb_1.Message.getWrapperField(this, ListValue, 6) as ListValue;\n    }\n    set list_value(value: ListValue) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_list_value() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get kind() {\n        const cases: {\n            [index: number]: \"none\" | \"null_value\" | \"number_value\" | \"string_value\" | \"bool_value\" | \"struct_value\" | \"list_value\";\n        } = {\n            0: \"none\",\n            1: \"null_value\",\n            2: \"number_value\",\n            3: \"string_value\",\n            4: \"bool_value\",\n            5: \"struct_value\",\n            6: \"list_value\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4, 5, 6])];\n    }\n    static fromObject(data: {\n        null_value?: NullValue;\n        number_value?: number;\n        string_value?: string;\n        bool_value?: boolean;\n        struct_value?: ReturnType<typeof Struct.prototype.toObject>;\n        list_value?: ReturnType<typeof ListValue.prototype.toObject>;\n    }): Value {\n        const message = new Value({});\n        if (data.null_value != null) {\n            message.null_value = data.null_value;\n        }\n        if (data.number_value != null) {\n            message.number_value = data.number_value;\n        }\n        if (data.string_value != null) {\n            message.string_value = data.string_value;\n        }\n        if (data.bool_value != null) {\n            message.bool_value = data.bool_value;\n        }\n        if (data.struct_value != null) {\n            message.struct_value = Struct.fromObject(data.struct_value);\n        }\n        if (data.list_value != null) {\n            message.list_value = ListValue.fromObject(data.list_value);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            null_value?: NullValue;\n            number_value?: number;\n            string_value?: string;\n            bool_value?: boolean;\n            struct_value?: ReturnType<typeof Struct.prototype.toObject>;\n            list_value?: ReturnType<typeof ListValue.prototype.toObject>;\n        } = {};\n        if (this.null_value != null) {\n            data.null_value = this.null_value;\n        }\n        if (this.number_value != null) {\n            data.number_value = this.number_value;\n        }\n        if (this.string_value != null) {\n            data.string_value = this.string_value;\n        }\n        if (this.bool_value != null) {\n            data.bool_value = this.bool_value;\n        }\n        if (this.struct_value != null) {\n            data.struct_value = this.struct_value.toObject();\n        }\n        if (this.list_value != null) {\n            data.list_value = this.list_value.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_null_value)\n            writer.writeEnum(1, this.null_value);\n        if (this.has_number_value)\n            writer.writeDouble(2, this.number_value);\n        if (this.has_string_value)\n            writer.writeString(3, this.string_value);\n        if (this.has_bool_value)\n            writer.writeBool(4, this.bool_value);\n        if (this.has_struct_value)\n            writer.writeMessage(5, this.struct_value, () => this.struct_value.serialize(writer));\n        if (this.has_list_value)\n            writer.writeMessage(6, this.list_value, () => this.list_value.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.null_value = reader.readEnum();\n                    break;\n                case 2:\n                    message.number_value = reader.readDouble();\n                    break;\n                case 3:\n                    message.string_value = reader.readString();\n                    break;\n                case 4:\n                    message.bool_value = reader.readBool();\n                    break;\n                case 5:\n                    reader.readMessage(message.struct_value, () => message.struct_value = Struct.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.list_value, () => message.list_value = ListValue.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Value {\n        return Value.deserialize(bytes);\n    }\n}\nexport class ListValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        values?: Value[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"values\" in data && data.values != undefined) {\n                this.values = data.values;\n            }\n        }\n    }\n    get values() {\n        return pb_1.Message.getRepeatedWrapperField(this, Value, 1) as Value[];\n    }\n    set values(value: Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        values?: ReturnType<typeof Value.prototype.toObject>[];\n    }): ListValue {\n        const message = new ListValue({});\n        if (data.values != null) {\n            message.values = data.values.map(item => Value.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            values?: ReturnType<typeof Value.prototype.toObject>[];\n        } = {};\n        if (this.values != null) {\n            data.values = this.values.map((item: Value) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.values.length)\n            writer.writeRepeatedMessage(1, this.values, (item: Value) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.values, () => pb_1.Message.addToRepeatedWrapperField(message, 1, Value.deserialize(reader), Value));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ListValue {\n        return ListValue.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/type/latlng.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class LatLng extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        latitude?: number;\n        longitude?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"latitude\" in data && data.latitude != undefined) {\n                this.latitude = data.latitude;\n            }\n            if (\"longitude\" in data && data.longitude != undefined) {\n                this.longitude = data.longitude;\n            }\n        }\n    }\n    get latitude() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set latitude(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get longitude() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set longitude(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        latitude?: number;\n        longitude?: number;\n    }): LatLng {\n        const message = new LatLng({});\n        if (data.latitude != null) {\n            message.latitude = data.latitude;\n        }\n        if (data.longitude != null) {\n            message.longitude = data.longitude;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            latitude?: number;\n            longitude?: number;\n        } = {};\n        if (this.latitude != null) {\n            data.latitude = this.latitude;\n        }\n        if (this.longitude != null) {\n            data.longitude = this.longitude;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.latitude != 0)\n            writer.writeDouble(1, this.latitude);\n        if (this.longitude != 0)\n            writer.writeDouble(2, this.longitude);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): LatLng {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new LatLng();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.latitude = reader.readDouble();\n                    break;\n                case 2:\n                    message.longitude = reader.readDouble();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): LatLng {\n        return LatLng.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/firestore/v1/document.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../api/field_behavior\";\nimport * as dependency_2 from \"./../../protobuf/struct\";\nimport * as dependency_3 from \"./../../protobuf/timestamp\";\nimport * as dependency_4 from \"./../../type/latlng\";\nimport * as pb_1 from \"google-protobuf\";\nexport class Document extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        fields?: Map<string, Value>;\n        create_time?: dependency_3.Timestamp;\n        update_time?: dependency_3.Timestamp;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n            if (\"create_time\" in data && data.create_time != undefined) {\n                this.create_time = data.create_time;\n            }\n            if (\"update_time\" in data && data.update_time != undefined) {\n                this.update_time = data.update_time;\n            }\n        }\n        if (!this.fields)\n            this.fields = new Map();\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get fields() {\n        return pb_1.Message.getField(this, 2) as any as Map<string, Value>;\n    }\n    set fields(value: Map<string, Value>) {\n        pb_1.Message.setField(this, 2, value as any);\n    }\n    get create_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 3) as dependency_3.Timestamp;\n    }\n    set create_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_create_time() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get update_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 4) as dependency_3.Timestamp;\n    }\n    set update_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_update_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        fields?: {\n            [key: string]: ReturnType<typeof Value.prototype.toObject>;\n        };\n        create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        update_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n    }): Document {\n        const message = new Document({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (typeof data.fields == \"object\") {\n            message.fields = new Map(Object.entries(data.fields).map(([key, value]) => [key, Value.fromObject(value)]));\n        }\n        if (data.create_time != null) {\n            message.create_time = dependency_3.Timestamp.fromObject(data.create_time);\n        }\n        if (data.update_time != null) {\n            message.update_time = dependency_3.Timestamp.fromObject(data.update_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            fields?: {\n                [key: string]: ReturnType<typeof Value.prototype.toObject>;\n            };\n            create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n            update_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.fields != null) {\n            data.fields = (Object.fromEntries)((Array.from)(this.fields).map(([key, value]) => [key, value.toObject()]));\n        }\n        if (this.create_time != null) {\n            data.create_time = this.create_time.toObject();\n        }\n        if (this.update_time != null) {\n            data.update_time = this.update_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.name.length)\n            writer.writeString(1, this.name);\n        for (const [key, value] of this.fields) {\n            writer.writeMessage(2, this.fields, () => {\n                writer.writeString(1, key);\n                writer.writeMessage(2, value, () => value.serialize(writer));\n            });\n        }\n        if (this.has_create_time)\n            writer.writeMessage(3, this.create_time, () => this.create_time.serialize(writer));\n        if (this.has_update_time)\n            writer.writeMessage(4, this.update_time, () => this.update_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Document {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Document();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = Value.deserialize(reader));\n                        return value;\n                    }));\n                    break;\n                case 3:\n                    reader.readMessage(message.create_time, () => message.create_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.update_time, () => message.update_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Document {\n        return Document.deserialize(bytes);\n    }\n}\nexport class Value extends pb_1.Message {\n    #one_of_decls: number[][] = [[11, 1, 2, 3, 10, 17, 18, 5, 8, 9, 6]];\n    constructor(data?: any[] | ({} & (({\n        null_value?: dependency_2.NullValue;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: boolean;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: number;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: number;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: dependency_3.Timestamp;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: string;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: Uint8Array;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: string;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: dependency_4.LatLng;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: ArrayValue;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: MapValue;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"null_value\" in data && data.null_value != undefined) {\n                this.null_value = data.null_value;\n            }\n            if (\"boolean_value\" in data && data.boolean_value != undefined) {\n                this.boolean_value = data.boolean_value;\n            }\n            if (\"integer_value\" in data && data.integer_value != undefined) {\n                this.integer_value = data.integer_value;\n            }\n            if (\"double_value\" in data && data.double_value != undefined) {\n                this.double_value = data.double_value;\n            }\n            if (\"timestamp_value\" in data && data.timestamp_value != undefined) {\n                this.timestamp_value = data.timestamp_value;\n            }\n            if (\"string_value\" in data && data.string_value != undefined) {\n                this.string_value = data.string_value;\n            }\n            if (\"bytes_value\" in data && data.bytes_value != undefined) {\n                this.bytes_value = data.bytes_value;\n            }\n            if (\"reference_value\" in data && data.reference_value != undefined) {\n                this.reference_value = data.reference_value;\n            }\n            if (\"geo_point_value\" in data && data.geo_point_value != undefined) {\n                this.geo_point_value = data.geo_point_value;\n            }\n            if (\"array_value\" in data && data.array_value != undefined) {\n                this.array_value = data.array_value;\n            }\n            if (\"map_value\" in data && data.map_value != undefined) {\n                this.map_value = data.map_value;\n            }\n        }\n    }\n    get null_value() {\n        return pb_1.Message.getFieldWithDefault(this, 11, dependency_2.NullValue.NULL_VALUE) as dependency_2.NullValue;\n    }\n    set null_value(value: dependency_2.NullValue) {\n        pb_1.Message.setOneofField(this, 11, this.#one_of_decls[0], value);\n    }\n    get has_null_value() {\n        return pb_1.Message.getField(this, 11) != null;\n    }\n    get boolean_value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set boolean_value(value: boolean) {\n        pb_1.Message.setOneofField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_boolean_value() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get integer_value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set integer_value(value: number) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_integer_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get double_value() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set double_value(value: number) {\n        pb_1.Message.setOneofField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_double_value() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get timestamp_value() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 10) as dependency_3.Timestamp;\n    }\n    set timestamp_value(value: dependency_3.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 10, this.#one_of_decls[0], value);\n    }\n    get has_timestamp_value() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    get string_value() {\n        return pb_1.Message.getFieldWithDefault(this, 17, \"\") as string;\n    }\n    set string_value(value: string) {\n        pb_1.Message.setOneofField(this, 17, this.#one_of_decls[0], value);\n    }\n    get has_string_value() {\n        return pb_1.Message.getField(this, 17) != null;\n    }\n    get bytes_value() {\n        return pb_1.Message.getFieldWithDefault(this, 18, new Uint8Array(0)) as Uint8Array;\n    }\n    set bytes_value(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 18, this.#one_of_decls[0], value);\n    }\n    get has_bytes_value() {\n        return pb_1.Message.getField(this, 18) != null;\n    }\n    get reference_value() {\n        return pb_1.Message.getFieldWithDefault(this, 5, \"\") as string;\n    }\n    set reference_value(value: string) {\n        pb_1.Message.setOneofField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_reference_value() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get geo_point_value() {\n        return pb_1.Message.getWrapperField(this, dependency_4.LatLng, 8) as dependency_4.LatLng;\n    }\n    set geo_point_value(value: dependency_4.LatLng) {\n        pb_1.Message.setOneofWrapperField(this, 8, this.#one_of_decls[0], value);\n    }\n    get has_geo_point_value() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get array_value() {\n        return pb_1.Message.getWrapperField(this, ArrayValue, 9) as ArrayValue;\n    }\n    set array_value(value: ArrayValue) {\n        pb_1.Message.setOneofWrapperField(this, 9, this.#one_of_decls[0], value);\n    }\n    get has_array_value() {\n        return pb_1.Message.getField(this, 9) != null;\n    }\n    get map_value() {\n        return pb_1.Message.getWrapperField(this, MapValue, 6) as MapValue;\n    }\n    set map_value(value: MapValue) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_map_value() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get value_type() {\n        const cases: {\n            [index: number]: \"none\" | \"null_value\" | \"boolean_value\" | \"integer_value\" | \"double_value\" | \"timestamp_value\" | \"string_value\" | \"bytes_value\" | \"reference_value\" | \"geo_point_value\" | \"array_value\" | \"map_value\";\n        } = {\n            0: \"none\",\n            11: \"null_value\",\n            1: \"boolean_value\",\n            2: \"integer_value\",\n            3: \"double_value\",\n            10: \"timestamp_value\",\n            17: \"string_value\",\n            18: \"bytes_value\",\n            5: \"reference_value\",\n            8: \"geo_point_value\",\n            9: \"array_value\",\n            6: \"map_value\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [11, 1, 2, 3, 10, 17, 18, 5, 8, 9, 6])];\n    }\n    static fromObject(data: {\n        null_value?: dependency_2.NullValue;\n        boolean_value?: boolean;\n        integer_value?: number;\n        double_value?: number;\n        timestamp_value?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        string_value?: string;\n        bytes_value?: Uint8Array;\n        reference_value?: string;\n        geo_point_value?: ReturnType<typeof dependency_4.LatLng.prototype.toObject>;\n        array_value?: ReturnType<typeof ArrayValue.prototype.toObject>;\n        map_value?: ReturnType<typeof MapValue.prototype.toObject>;\n    }): Value {\n        const message = new Value({});\n        if (data.null_value != null) {\n            message.null_value = data.null_value;\n        }\n        if (data.boolean_value != null) {\n            message.boolean_value = data.boolean_value;\n        }\n        if (data.integer_value != null) {\n            message.integer_value = data.integer_value;\n        }\n        if (data.double_value != null) {\n            message.double_value = data.double_value;\n        }\n        if (data.timestamp_value != null) {\n            message.timestamp_value = dependency_3.Timestamp.fromObject(data.timestamp_value);\n        }\n        if (data.string_value != null) {\n            message.string_value = data.string_value;\n        }\n        if (data.bytes_value != null) {\n            message.bytes_value = data.bytes_value;\n        }\n        if (data.reference_value != null) {\n            message.reference_value = data.reference_value;\n        }\n        if (data.geo_point_value != null) {\n            message.geo_point_value = dependency_4.LatLng.fromObject(data.geo_point_value);\n        }\n        if (data.array_value != null) {\n            message.array_value = ArrayValue.fromObject(data.array_value);\n        }\n        if (data.map_value != null) {\n            message.map_value = MapValue.fromObject(data.map_value);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            null_value?: dependency_2.NullValue;\n            boolean_value?: boolean;\n            integer_value?: number;\n            double_value?: number;\n            timestamp_value?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n            string_value?: string;\n            bytes_value?: Uint8Array;\n            reference_value?: string;\n            geo_point_value?: ReturnType<typeof dependency_4.LatLng.prototype.toObject>;\n            array_value?: ReturnType<typeof ArrayValue.prototype.toObject>;\n            map_value?: ReturnType<typeof MapValue.prototype.toObject>;\n        } = {};\n        if (this.null_value != null) {\n            data.null_value = this.null_value;\n        }\n        if (this.boolean_value != null) {\n            data.boolean_value = this.boolean_value;\n        }\n        if (this.integer_value != null) {\n            data.integer_value = this.integer_value;\n        }\n        if (this.double_value != null) {\n            data.double_value = this.double_value;\n        }\n        if (this.timestamp_value != null) {\n            data.timestamp_value = this.timestamp_value.toObject();\n        }\n        if (this.string_value != null) {\n            data.string_value = this.string_value;\n        }\n        if (this.bytes_value != null) {\n            data.bytes_value = this.bytes_value;\n        }\n        if (this.reference_value != null) {\n            data.reference_value = this.reference_value;\n        }\n        if (this.geo_point_value != null) {\n            data.geo_point_value = this.geo_point_value.toObject();\n        }\n        if (this.array_value != null) {\n            data.array_value = this.array_value.toObject();\n        }\n        if (this.map_value != null) {\n            data.map_value = this.map_value.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_null_value)\n            writer.writeEnum(11, this.null_value);\n        if (this.has_boolean_value)\n            writer.writeBool(1, this.boolean_value);\n        if (this.has_integer_value)\n            writer.writeInt64(2, this.integer_value);\n        if (this.has_double_value)\n            writer.writeDouble(3, this.double_value);\n        if (this.has_timestamp_value)\n            writer.writeMessage(10, this.timestamp_value, () => this.timestamp_value.serialize(writer));\n        if (this.has_string_value)\n            writer.writeString(17, this.string_value);\n        if (this.has_bytes_value)\n            writer.writeBytes(18, this.bytes_value);\n        if (this.has_reference_value)\n            writer.writeString(5, this.reference_value);\n        if (this.has_geo_point_value)\n            writer.writeMessage(8, this.geo_point_value, () => this.geo_point_value.serialize(writer));\n        if (this.has_array_value)\n            writer.writeMessage(9, this.array_value, () => this.array_value.serialize(writer));\n        if (this.has_map_value)\n            writer.writeMessage(6, this.map_value, () => this.map_value.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 11:\n                    message.null_value = reader.readEnum();\n                    break;\n                case 1:\n                    message.boolean_value = reader.readBool();\n                    break;\n                case 2:\n                    message.integer_value = reader.readInt64();\n                    break;\n                case 3:\n                    message.double_value = reader.readDouble();\n                    break;\n                case 10:\n                    reader.readMessage(message.timestamp_value, () => message.timestamp_value = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                case 17:\n                    message.string_value = reader.readString();\n                    break;\n                case 18:\n                    message.bytes_value = reader.readBytes();\n                    break;\n                case 5:\n                    message.reference_value = reader.readString();\n                    break;\n                case 8:\n                    reader.readMessage(message.geo_point_value, () => message.geo_point_value = dependency_4.LatLng.deserialize(reader));\n                    break;\n                case 9:\n                    reader.readMessage(message.array_value, () => message.array_value = ArrayValue.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.map_value, () => message.map_value = MapValue.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Value {\n        return Value.deserialize(bytes);\n    }\n}\nexport class ArrayValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        values?: Value[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"values\" in data && data.values != undefined) {\n                this.values = data.values;\n            }\n        }\n    }\n    get values() {\n        return pb_1.Message.getRepeatedWrapperField(this, Value, 1) as Value[];\n    }\n    set values(value: Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        values?: ReturnType<typeof Value.prototype.toObject>[];\n    }): ArrayValue {\n        const message = new ArrayValue({});\n        if (data.values != null) {\n            message.values = data.values.map(item => Value.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            values?: ReturnType<typeof Value.prototype.toObject>[];\n        } = {};\n        if (this.values != null) {\n            data.values = this.values.map((item: Value) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.values.length)\n            writer.writeRepeatedMessage(1, this.values, (item: Value) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ArrayValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ArrayValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.values, () => pb_1.Message.addToRepeatedWrapperField(message, 1, Value.deserialize(reader), Value));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ArrayValue {\n        return ArrayValue.deserialize(bytes);\n    }\n}\nexport class MapValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        fields?: Map<string, Value>;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n        }\n        if (!this.fields)\n            this.fields = new Map();\n    }\n    get fields() {\n        return pb_1.Message.getField(this, 1) as any as Map<string, Value>;\n    }\n    set fields(value: Map<string, Value>) {\n        pb_1.Message.setField(this, 1, value as any);\n    }\n    static fromObject(data: {\n        fields?: {\n            [key: string]: ReturnType<typeof Value.prototype.toObject>;\n        };\n    }): MapValue {\n        const message = new MapValue({});\n        if (typeof data.fields == \"object\") {\n            message.fields = new Map(Object.entries(data.fields).map(([key, value]) => [key, Value.fromObject(value)]));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            fields?: {\n                [key: string]: ReturnType<typeof Value.prototype.toObject>;\n            };\n        } = {};\n        if (this.fields != null) {\n            data.fields = (Object.fromEntries)((Array.from)(this.fields).map(([key, value]) => [key, value.toObject()]));\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        for (const [key, value] of this.fields) {\n            writer.writeMessage(1, this.fields, () => {\n                writer.writeString(1, key);\n                writer.writeMessage(2, value, () => value.serialize(writer));\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MapValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MapValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = Value.deserialize(reader));\n                        return value;\n                    }));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): MapValue {\n        return MapValue.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/firestore/v1/write.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./bloom_filter\";\nimport * as dependency_2 from \"./common\";\nimport * as dependency_3 from \"./document\";\nimport * as dependency_4 from \"./../../protobuf/timestamp\";\nimport * as pb_1 from \"google-protobuf\";\nexport class Write extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 6]];\n    constructor(data?: any[] | ({\n        update_mask?: dependency_2.DocumentMask;\n        update_transforms?: DocumentTransformFieldTransform[];\n        current_document?: dependency_2.Precondition;\n    } & (({\n        update?: dependency_3.Document;\n        delete?: never;\n        transform?: never;\n    } | {\n        update?: never;\n        delete?: string;\n        transform?: never;\n    } | {\n        update?: never;\n        delete?: never;\n        transform?: DocumentTransform;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [7], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"update\" in data && data.update != undefined) {\n                this.update = data.update;\n            }\n            if (\"delete\" in data && data.delete != undefined) {\n                this.delete = data.delete;\n            }\n            if (\"transform\" in data && data.transform != undefined) {\n                this.transform = data.transform;\n            }\n            if (\"update_mask\" in data && data.update_mask != undefined) {\n                this.update_mask = data.update_mask;\n            }\n            if (\"update_transforms\" in data && data.update_transforms != undefined) {\n                this.update_transforms = data.update_transforms;\n            }\n            if (\"current_document\" in data && data.current_document != undefined) {\n                this.current_document = data.current_document;\n            }\n        }\n    }\n    get update() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Document, 1) as dependency_3.Document;\n    }\n    set update(value: dependency_3.Document) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_update() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get delete() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set delete(value: string) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_delete() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get transform() {\n        return pb_1.Message.getWrapperField(this, DocumentTransform, 6) as DocumentTransform;\n    }\n    set transform(value: DocumentTransform) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_transform() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get update_mask() {\n        return pb_1.Message.getWrapperField(this, dependency_2.DocumentMask, 3) as dependency_2.DocumentMask;\n    }\n    set update_mask(value: dependency_2.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_update_mask() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get update_transforms() {\n        return pb_1.Message.getRepeatedWrapperField(this, DocumentTransformFieldTransform, 7) as DocumentTransformFieldTransform[];\n    }\n    set update_transforms(value: DocumentTransformFieldTransform[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 7, value);\n    }\n    get current_document() {\n        return pb_1.Message.getWrapperField(this, dependency_2.Precondition, 4) as dependency_2.Precondition;\n    }\n    set current_document(value: dependency_2.Precondition) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_current_document() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get operation() {\n        const cases: {\n            [index: number]: \"none\" | \"update\" | \"delete\" | \"transform\";\n        } = {\n            0: \"none\",\n            1: \"update\",\n            2: \"delete\",\n            6: \"transform\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 6])];\n    }\n    static fromObject(data: {\n        update?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n        delete?: string;\n        transform?: ReturnType<typeof DocumentTransform.prototype.toObject>;\n        update_mask?: ReturnType<typeof dependency_2.DocumentMask.prototype.toObject>;\n        update_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n        current_document?: ReturnType<typeof dependency_2.Precondition.prototype.toObject>;\n    }): Write {\n        const message = new Write({});\n        if (data.update != null) {\n            message.update = dependency_3.Document.fromObject(data.update);\n        }\n        if (data.delete != null) {\n            message.delete = data.delete;\n        }\n        if (data.transform != null) {\n            message.transform = DocumentTransform.fromObject(data.transform);\n        }\n        if (data.update_mask != null) {\n            message.update_mask = dependency_2.DocumentMask.fromObject(data.update_mask);\n        }\n        if (data.update_transforms != null) {\n            message.update_transforms = data.update_transforms.map(item => DocumentTransformFieldTransform.fromObject(item));\n        }\n        if (data.current_document != null) {\n            message.current_document = dependency_2.Precondition.fromObject(data.current_document);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            update?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n            delete?: string;\n            transform?: ReturnType<typeof DocumentTransform.prototype.toObject>;\n            update_mask?: ReturnType<typeof dependency_2.DocumentMask.prototype.toObject>;\n            update_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n            current_document?: ReturnType<typeof dependency_2.Precondition.prototype.toObject>;\n        } = {};\n        if (this.update != null) {\n            data.update = this.update.toObject();\n        }\n        if (this.delete != null) {\n            data.delete = this.delete;\n        }\n        if (this.transform != null) {\n            data.transform = this.transform.toObject();\n        }\n        if (this.update_mask != null) {\n            data.update_mask = this.update_mask.toObject();\n        }\n        if (this.update_transforms != null) {\n            data.update_transforms = this.update_transforms.map((item: DocumentTransformFieldTransform) => item.toObject());\n        }\n        if (this.current_document != null) {\n            data.current_document = this.current_document.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_update)\n            writer.writeMessage(1, this.update, () => this.update.serialize(writer));\n        if (this.has_delete)\n            writer.writeString(2, this.delete);\n        if (this.has_transform)\n            writer.writeMessage(6, this.transform, () => this.transform.serialize(writer));\n        if (this.has_update_mask)\n            writer.writeMessage(3, this.update_mask, () => this.update_mask.serialize(writer));\n        if (this.update_transforms.length)\n            writer.writeRepeatedMessage(7, this.update_transforms, (item: DocumentTransformFieldTransform) => item.serialize(writer));\n        if (this.has_current_document)\n            writer.writeMessage(4, this.current_document, () => this.current_document.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Write {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Write();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.update, () => message.update = dependency_3.Document.deserialize(reader));\n                    break;\n                case 2:\n                    message.delete = reader.readString();\n                    break;\n                case 6:\n                    reader.readMessage(message.transform, () => message.transform = DocumentTransform.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.update_mask, () => message.update_mask = dependency_2.DocumentMask.deserialize(reader));\n                    break;\n                case 7:\n                    reader.readMessage(message.update_transforms, () => pb_1.Message.addToRepeatedWrapperField(message, 7, DocumentTransformFieldTransform.deserialize(reader), DocumentTransformFieldTransform));\n                    break;\n                case 4:\n                    reader.readMessage(message.current_document, () => message.current_document = dependency_2.Precondition.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Write {\n        return Write.deserialize(bytes);\n    }\n}\nexport class DocumentTransform extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: string;\n        field_transforms?: DocumentTransformFieldTransform[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"field_transforms\" in data && data.field_transforms != undefined) {\n                this.field_transforms = data.field_transforms;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set document(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get field_transforms() {\n        return pb_1.Message.getRepeatedWrapperField(this, DocumentTransformFieldTransform, 2) as DocumentTransformFieldTransform[];\n    }\n    set field_transforms(value: DocumentTransformFieldTransform[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        document?: string;\n        field_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n    }): DocumentTransform {\n        const message = new DocumentTransform({});\n        if (data.document != null) {\n            message.document = data.document;\n        }\n        if (data.field_transforms != null) {\n            message.field_transforms = data.field_transforms.map(item => DocumentTransformFieldTransform.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: string;\n            field_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n        } = {};\n        if (this.document != null) {\n            data.document = this.document;\n        }\n        if (this.field_transforms != null) {\n            data.field_transforms = this.field_transforms.map((item: DocumentTransformFieldTransform) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.document.length)\n            writer.writeString(1, this.document);\n        if (this.field_transforms.length)\n            writer.writeRepeatedMessage(2, this.field_transforms, (item: DocumentTransformFieldTransform) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentTransform {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentTransform();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.document = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.field_transforms, () => pb_1.Message.addToRepeatedWrapperField(message, 2, DocumentTransformFieldTransform.deserialize(reader), DocumentTransformFieldTransform));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DocumentTransform {\n        return DocumentTransform.deserialize(bytes);\n    }\n}\nexport class DocumentTransformFieldTransform extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3, 4, 5, 6, 7]];\n    constructor(data?: any[] | ({\n        field_path?: string;\n    } & (({\n        set_to_server_value?: DocumentTransformFieldTransformServerValue;\n        increment?: never;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: dependency_3.Value;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: dependency_3.Value;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: never;\n        minimum?: dependency_3.Value;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: dependency_3.ArrayValue;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: dependency_3.ArrayValue;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field_path\" in data && data.field_path != undefined) {\n                this.field_path = data.field_path;\n            }\n            if (\"set_to_server_value\" in data && data.set_to_server_value != undefined) {\n                this.set_to_server_value = data.set_to_server_value;\n            }\n            if (\"increment\" in data && data.increment != undefined) {\n                this.increment = data.increment;\n            }\n            if (\"maximum\" in data && data.maximum != undefined) {\n                this.maximum = data.maximum;\n            }\n            if (\"minimum\" in data && data.minimum != undefined) {\n                this.minimum = data.minimum;\n            }\n            if (\"append_missing_elements\" in data && data.append_missing_elements != undefined) {\n                this.append_missing_elements = data.append_missing_elements;\n            }\n            if (\"remove_all_from_array\" in data && data.remove_all_from_array != undefined) {\n                this.remove_all_from_array = data.remove_all_from_array;\n            }\n        }\n    }\n    get field_path() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set field_path(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get set_to_server_value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, DocumentTransformFieldTransformServerValue.SERVER_VALUE_UNSPECIFIED) as DocumentTransformFieldTransformServerValue;\n    }\n    set set_to_server_value(value: DocumentTransformFieldTransformServerValue) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_set_to_server_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get increment() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Value, 3) as dependency_3.Value;\n    }\n    set increment(value: dependency_3.Value) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_increment() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get maximum() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Value, 4) as dependency_3.Value;\n    }\n    set maximum(value: dependency_3.Value) {\n        pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_maximum() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get minimum() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Value, 5) as dependency_3.Value;\n    }\n    set minimum(value: dependency_3.Value) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_minimum() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get append_missing_elements() {\n        return pb_1.Message.getWrapperField(this, dependency_3.ArrayValue, 6) as dependency_3.ArrayValue;\n    }\n    set append_missing_elements(value: dependency_3.ArrayValue) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_append_missing_elements() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get remove_all_from_array() {\n        return pb_1.Message.getWrapperField(this, dependency_3.ArrayValue, 7) as dependency_3.ArrayValue;\n    }\n    set remove_all_from_array(value: dependency_3.ArrayValue) {\n        pb_1.Message.setOneofWrapperField(this, 7, this.#one_of_decls[0], value);\n    }\n    get has_remove_all_from_array() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get transform_type() {\n        const cases: {\n            [index: number]: \"none\" | \"set_to_server_value\" | \"increment\" | \"maximum\" | \"minimum\" | \"append_missing_elements\" | \"remove_all_from_array\";\n        } = {\n            0: \"none\",\n            2: \"set_to_server_value\",\n            3: \"increment\",\n            4: \"maximum\",\n            5: \"minimum\",\n            6: \"append_missing_elements\",\n            7: \"remove_all_from_array\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3, 4, 5, 6, 7])];\n    }\n    static fromObject(data: {\n        field_path?: string;\n        set_to_server_value?: DocumentTransformFieldTransformServerValue;\n        increment?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n        maximum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n        minimum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n        append_missing_elements?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n        remove_all_from_array?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n    }): DocumentTransformFieldTransform {\n        const message = new DocumentTransformFieldTransform({});\n        if (data.field_path != null) {\n            message.field_path = data.field_path;\n        }\n        if (data.set_to_server_value != null) {\n            message.set_to_server_value = data.set_to_server_value;\n        }\n        if (data.increment != null) {\n            message.increment = dependency_3.Value.fromObject(data.increment);\n        }\n        if (data.maximum != null) {\n            message.maximum = dependency_3.Value.fromObject(data.maximum);\n        }\n        if (data.minimum != null) {\n            message.minimum = dependency_3.Value.fromObject(data.minimum);\n        }\n        if (data.append_missing_elements != null) {\n            message.append_missing_elements = dependency_3.ArrayValue.fromObject(data.append_missing_elements);\n        }\n        if (data.remove_all_from_array != null) {\n            message.remove_all_from_array = dependency_3.ArrayValue.fromObject(data.remove_all_from_array);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field_path?: string;\n            set_to_server_value?: DocumentTransformFieldTransformServerValue;\n            increment?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n            maximum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n            minimum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n            append_missing_elements?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n            remove_all_from_array?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n        } = {};\n        if (this.field_path != null) {\n            data.field_path = this.field_path;\n        }\n        if (this.set_to_server_value != null) {\n            data.set_to_server_value = this.set_to_server_value;\n        }\n        if (this.increment != null) {\n            data.increment = this.increment.toObject();\n        }\n        if (this.maximum != null) {\n            data.maximum = this.maximum.toObject();\n        }\n        if (this.minimum != null) {\n            data.minimum = this.minimum.toObject();\n        }\n        if (this.append_missing_elements != null) {\n            data.append_missing_elements = this.append_missing_elements.toObject();\n        }\n        if (this.remove_all_from_array != null) {\n            data.remove_all_from_array = this.remove_all_from_array.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.field_path.length)\n            writer.writeString(1, this.field_path);\n        if (this.has_set_to_server_value)\n            writer.writeEnum(2, this.set_to_server_value);\n        if (this.has_increment)\n            writer.writeMessage(3, this.increment, () => this.increment.serialize(writer));\n        if (this.has_maximum)\n            writer.writeMessage(4, this.maximum, () => this.maximum.serialize(writer));\n        if (this.has_minimum)\n            writer.writeMessage(5, this.minimum, () => this.minimum.serialize(writer));\n        if (this.has_append_missing_elements)\n            writer.writeMessage(6, this.append_missing_elements, () => this.append_missing_elements.serialize(writer));\n        if (this.has_remove_all_from_array)\n            writer.writeMessage(7, this.remove_all_from_array, () => this.remove_all_from_array.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentTransformFieldTransform {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentTransformFieldTransform();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.field_path = reader.readString();\n                    break;\n                case 2:\n                    message.set_to_server_value = reader.readEnum();\n                    break;\n                case 3:\n                    reader.readMessage(message.increment, () => message.increment = dependency_3.Value.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.maximum, () => message.maximum = dependency_3.Value.deserialize(reader));\n                    break;\n                case 5:\n                    reader.readMessage(message.minimum, () => message.minimum = dependency_3.Value.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.append_missing_elements, () => message.append_missing_elements = dependency_3.ArrayValue.deserialize(reader));\n                    break;\n                case 7:\n                    reader.readMessage(message.remove_all_from_array, () => message.remove_all_from_array = dependency_3.ArrayValue.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DocumentTransformFieldTransform {\n        return DocumentTransformFieldTransform.deserialize(bytes);\n    }\n}\nexport enum DocumentTransformFieldTransformServerValue {\n    SERVER_VALUE_UNSPECIFIED = 0,\n    REQUEST_TIME = 1\n}\nexport class WriteResult extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        update_time?: dependency_4.Timestamp;\n        transform_results?: dependency_3.Value[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"update_time\" in data && data.update_time != undefined) {\n                this.update_time = data.update_time;\n            }\n            if (\"transform_results\" in data && data.transform_results != undefined) {\n                this.transform_results = data.transform_results;\n            }\n        }\n    }\n    get update_time() {\n        return pb_1.Message.getWrapperField(this, dependency_4.Timestamp, 1) as dependency_4.Timestamp;\n    }\n    set update_time(value: dependency_4.Timestamp) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_update_time() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get transform_results() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_3.Value, 2) as dependency_3.Value[];\n    }\n    set transform_results(value: dependency_3.Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        update_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n        transform_results?: ReturnType<typeof dependency_3.Value.prototype.toObject>[];\n    }): WriteResult {\n        const message = new WriteResult({});\n        if (data.update_time != null) {\n            message.update_time = dependency_4.Timestamp.fromObject(data.update_time);\n        }\n        if (data.transform_results != null) {\n            message.transform_results = data.transform_results.map(item => dependency_3.Value.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            update_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n            transform_results?: ReturnType<typeof dependency_3.Value.prototype.toObject>[];\n        } = {};\n        if (this.update_time != null) {\n            data.update_time = this.update_time.toObject();\n        }\n        if (this.transform_results != null) {\n            data.transform_results = this.transform_results.map((item: dependency_3.Value) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_update_time)\n            writer.writeMessage(1, this.update_time, () => this.update_time.serialize(writer));\n        if (this.transform_results.length)\n            writer.writeRepeatedMessage(2, this.transform_results, (item: dependency_3.Value) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): WriteResult {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new WriteResult();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.update_time, () => message.update_time = dependency_4.Timestamp.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.transform_results, () => pb_1.Message.addToRepeatedWrapperField(message, 2, dependency_3.Value.deserialize(reader), dependency_3.Value));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): WriteResult {\n        return WriteResult.deserialize(bytes);\n    }\n}\nexport class DocumentChange extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: dependency_3.Document;\n        target_ids?: number[];\n        removed_target_ids?: number[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [5, 6], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"target_ids\" in data && data.target_ids != undefined) {\n                this.target_ids = data.target_ids;\n            }\n            if (\"removed_target_ids\" in data && data.removed_target_ids != undefined) {\n                this.removed_target_ids = data.removed_target_ids;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Document, 1) as dependency_3.Document;\n    }\n    set document(value: dependency_3.Document) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_document() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 5, []) as number[];\n    }\n    set target_ids(value: number[]) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get removed_target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 6, []) as number[];\n    }\n    set removed_target_ids(value: number[]) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    static fromObject(data: {\n        document?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n        target_ids?: number[];\n        removed_target_ids?: number[];\n    }): DocumentChange {\n        const message = new DocumentChange({});\n        if (data.document != null) {\n            message.document = dependency_3.Document.fromObject(data.document);\n        }\n        if (data.target_ids != null) {\n            message.target_ids = data.target_ids;\n        }\n        if (data.removed_target_ids != null) {\n            message.removed_target_ids = data.removed_target_ids;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n            target_ids?: number[];\n            removed_target_ids?: number[];\n        } = {};\n        if (this.document != null) {\n            data.document = this.document.toObject();\n        }\n        if (this.target_ids != null) {\n            data.target_ids = this.target_ids;\n        }\n        if (this.removed_target_ids != null) {\n            data.removed_target_ids = this.removed_target_ids;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_document)\n            writer.writeMessage(1, this.document, () => this.document.serialize(writer));\n        if (this.target_ids.length)\n            writer.writePackedInt32(5, this.target_ids);\n        if (this.removed_target_ids.length)\n            writer.writePackedInt32(6, this.removed_target_ids);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentChange {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentChange();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.document, () => message.document = dependency_3.Document.deserialize(reader));\n                    break;\n                case 5:\n                    message.target_ids = reader.readPackedInt32();\n                    break;\n                case 6:\n                    message.removed_target_ids = reader.readPackedInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DocumentChange {\n        return DocumentChange.deserialize(bytes);\n    }\n}\nexport class DocumentDelete extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: dependency_4.Timestamp;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [6], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"removed_target_ids\" in data && data.removed_target_ids != undefined) {\n                this.removed_target_ids = data.removed_target_ids;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set document(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get removed_target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 6, []) as number[];\n    }\n    set removed_target_ids(value: number[]) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_4.Timestamp, 4) as dependency_4.Timestamp;\n    }\n    set read_time(value: dependency_4.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n    }): DocumentDelete {\n        const message = new DocumentDelete({});\n        if (data.document != null) {\n            message.document = data.document;\n        }\n        if (data.removed_target_ids != null) {\n            message.removed_target_ids = data.removed_target_ids;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_4.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: string;\n            removed_target_ids?: number[];\n            read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.document != null) {\n            data.document = this.document;\n        }\n        if (this.removed_target_ids != null) {\n            data.removed_target_ids = this.removed_target_ids;\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.document.length)\n            writer.writeString(1, this.document);\n        if (this.removed_target_ids.length)\n            writer.writePackedInt32(6, this.removed_target_ids);\n        if (this.has_read_time)\n            writer.writeMessage(4, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentDelete {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentDelete();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.document = reader.readString();\n                    break;\n                case 6:\n                    message.removed_target_ids = reader.readPackedInt32();\n                    break;\n                case 4:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_4.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DocumentDelete {\n        return DocumentDelete.deserialize(bytes);\n    }\n}\nexport class DocumentRemove extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: dependency_4.Timestamp;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"removed_target_ids\" in data && data.removed_target_ids != undefined) {\n                this.removed_target_ids = data.removed_target_ids;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set document(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get removed_target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 2, []) as number[];\n    }\n    set removed_target_ids(value: number[]) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_4.Timestamp, 4) as dependency_4.Timestamp;\n    }\n    set read_time(value: dependency_4.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n    }): DocumentRemove {\n        const message = new DocumentRemove({});\n        if (data.document != null) {\n            message.document = data.document;\n        }\n        if (data.removed_target_ids != null) {\n            message.removed_target_ids = data.removed_target_ids;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_4.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: string;\n            removed_target_ids?: number[];\n            read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.document != null) {\n            data.document = this.document;\n        }\n        if (this.removed_target_ids != null) {\n            data.removed_target_ids = this.removed_target_ids;\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.document.length)\n            writer.writeString(1, this.document);\n        if (this.removed_target_ids.length)\n            writer.writePackedInt32(2, this.removed_target_ids);\n        if (this.has_read_time)\n            writer.writeMessage(4, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentRemove {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentRemove();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.document = reader.readString();\n                    break;\n                case 2:\n                    message.removed_target_ids = reader.readPackedInt32();\n                    break;\n                case 4:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_4.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DocumentRemove {\n        return DocumentRemove.deserialize(bytes);\n    }\n}\nexport class ExistenceFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        target_id?: number;\n        count?: number;\n        unchanged_names?: dependency_1.BloomFilter;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"target_id\" in data && data.target_id != undefined) {\n                this.target_id = data.target_id;\n            }\n            if (\"count\" in data && data.count != undefined) {\n                this.count = data.count;\n            }\n            if (\"unchanged_names\" in data && data.unchanged_names != undefined) {\n                this.unchanged_names = data.unchanged_names;\n            }\n        }\n    }\n    get target_id() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set target_id(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get count() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set count(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get unchanged_names() {\n        return pb_1.Message.getWrapperField(this, dependency_1.BloomFilter, 3) as dependency_1.BloomFilter;\n    }\n    set unchanged_names(value: dependency_1.BloomFilter) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_unchanged_names() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        target_id?: number;\n        count?: number;\n        unchanged_names?: ReturnType<typeof dependency_1.BloomFilter.prototype.toObject>;\n    }): ExistenceFilter {\n        const message = new ExistenceFilter({});\n        if (data.target_id != null) {\n            message.target_id = data.target_id;\n        }\n        if (data.count != null) {\n            message.count = data.count;\n        }\n        if (data.unchanged_names != null) {\n            message.unchanged_names = dependency_1.BloomFilter.fromObject(data.unchanged_names);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            target_id?: number;\n            count?: number;\n            unchanged_names?: ReturnType<typeof dependency_1.BloomFilter.prototype.toObject>;\n        } = {};\n        if (this.target_id != null) {\n            data.target_id = this.target_id;\n        }\n        if (this.count != null) {\n            data.count = this.count;\n        }\n        if (this.unchanged_names != null) {\n            data.unchanged_names = this.unchanged_names.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.target_id != 0)\n            writer.writeInt32(1, this.target_id);\n        if (this.count != 0)\n            writer.writeInt32(2, this.count);\n        if (this.has_unchanged_names)\n            writer.writeMessage(3, this.unchanged_names, () => this.unchanged_names.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExistenceFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExistenceFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.target_id = reader.readInt32();\n                    break;\n                case 2:\n                    message.count = reader.readInt32();\n                    break;\n                case 3:\n                    reader.readMessage(message.unchanged_names, () => message.unchanged_names = dependency_1.BloomFilter.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ExistenceFilter {\n        return ExistenceFilter.deserialize(bytes);\n    }\n}\n"],"mappings":"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","names":["pb_1","pb_1","pb_1","pb_1","pb_1","pb_1","DocumentTransformFieldTransformServerValue"]}