diff --git a/dart/lib/src/proto/services/connect/v1/connect.pb.dart b/dart/lib/src/proto/services/connect/v1/connect.pb.dart index 50964ddc3..4c449aa62 100644 --- a/dart/lib/src/proto/services/connect/v1/connect.pb.dart +++ b/dart/lib/src/proto/services/connect/v1/connect.pb.dart @@ -226,6 +226,7 @@ class Verification extends $pb.GeneratedMessage { $fixnum.Int64? begun, $fixnum.Int64? updated, GovernmentIDOptions? governmentIdOptions, + NormalizedGovernmentIdData? normalizedGovernmentIdData, }) { final $result = create(); if (id != null) { @@ -252,6 +253,9 @@ class Verification extends $pb.GeneratedMessage { if (governmentIdOptions != null) { $result.governmentIdOptions = governmentIdOptions; } + if (normalizedGovernmentIdData != null) { + $result.normalizedGovernmentIdData = normalizedGovernmentIdData; + } return $result; } Verification._() : super(); @@ -289,6 +293,9 @@ class Verification extends $pb.GeneratedMessage { defaultOrMaker: $fixnum.Int64.ZERO) ..aOM(8, _omitFieldNames ? '' : 'governmentIdOptions', subBuilder: GovernmentIDOptions.create) + ..aOM( + 9, _omitFieldNames ? '' : 'normalizedGovernmentIdData', + subBuilder: NormalizedGovernmentIdData.create) ..hasRequiredFields = false; @$core.Deprecated('Using this can add significant overhead to your binary. ' @@ -424,6 +431,214 @@ class Verification extends $pb.GeneratedMessage { void clearGovernmentIdOptions() => clearField(8); @$pb.TagNumber(8) GovernmentIDOptions ensureGovernmentIdOptions() => $_ensure(7); + + /// Normalized output for manual parsing and usage for this verification + /// Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded. + @$pb.TagNumber(9) + NormalizedGovernmentIdData get normalizedGovernmentIdData => $_getN(8); + @$pb.TagNumber(9) + set normalizedGovernmentIdData(NormalizedGovernmentIdData v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasNormalizedGovernmentIdData() => $_has(8); + @$pb.TagNumber(9) + void clearNormalizedGovernmentIdData() => clearField(9); + @$pb.TagNumber(9) + NormalizedGovernmentIdData ensureNormalizedGovernmentIdData() => $_ensure(8); +} + +class NormalizedGovernmentIdData extends $pb.GeneratedMessage { + factory NormalizedGovernmentIdData({ + $core.String? idNumber, + $core.String? givenName, + $core.String? familyName, + $core.String? address, + $core.String? dateOfBirth, + $core.String? country, + $core.String? issueDate, + $core.String? expirationDate, + }) { + final $result = create(); + if (idNumber != null) { + $result.idNumber = idNumber; + } + if (givenName != null) { + $result.givenName = givenName; + } + if (familyName != null) { + $result.familyName = familyName; + } + if (address != null) { + $result.address = address; + } + if (dateOfBirth != null) { + $result.dateOfBirth = dateOfBirth; + } + if (country != null) { + $result.country = country; + } + if (issueDate != null) { + $result.issueDate = issueDate; + } + if (expirationDate != null) { + $result.expirationDate = expirationDate; + } + return $result; + } + NormalizedGovernmentIdData._() : super(); + factory NormalizedGovernmentIdData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NormalizedGovernmentIdData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NormalizedGovernmentIdData', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'services.connect.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'idNumber') + ..aOS(2, _omitFieldNames ? '' : 'givenName') + ..aOS(3, _omitFieldNames ? '' : 'familyName') + ..aOS(4, _omitFieldNames ? '' : 'address') + ..aOS(5, _omitFieldNames ? '' : 'dateOfBirth') + ..aOS(6, _omitFieldNames ? '' : 'country') + ..aOS(7, _omitFieldNames ? '' : 'issueDate') + ..aOS(8, _omitFieldNames ? '' : 'expirationDate') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NormalizedGovernmentIdData clone() => + NormalizedGovernmentIdData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NormalizedGovernmentIdData copyWith( + void Function(NormalizedGovernmentIdData) updates) => + super.copyWith( + (message) => updates(message as NormalizedGovernmentIdData)) + as NormalizedGovernmentIdData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NormalizedGovernmentIdData create() => NormalizedGovernmentIdData._(); + NormalizedGovernmentIdData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NormalizedGovernmentIdData getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NormalizedGovernmentIdData? _defaultInstance; + + /// The ID number of the underlying identity document + @$pb.TagNumber(1) + $core.String get idNumber => $_getSZ(0); + @$pb.TagNumber(1) + set idNumber($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasIdNumber() => $_has(0); + @$pb.TagNumber(1) + void clearIdNumber() => clearField(1); + + /// Given ("first") name of the document holder + @$pb.TagNumber(2) + $core.String get givenName => $_getSZ(1); + @$pb.TagNumber(2) + set givenName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasGivenName() => $_has(1); + @$pb.TagNumber(2) + void clearGivenName() => clearField(2); + + /// Family ("last") name of the document holder + @$pb.TagNumber(3) + $core.String get familyName => $_getSZ(2); + @$pb.TagNumber(3) + set familyName($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFamilyName() => $_has(2); + @$pb.TagNumber(3) + void clearFamilyName() => clearField(3); + + /// Full address of the document holder + @$pb.TagNumber(4) + $core.String get address => $_getSZ(3); + @$pb.TagNumber(4) + set address($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasAddress() => $_has(3); + @$pb.TagNumber(4) + void clearAddress() => clearField(4); + + /// Date of birth of the document holder + @$pb.TagNumber(5) + $core.String get dateOfBirth => $_getSZ(4); + @$pb.TagNumber(5) + set dateOfBirth($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDateOfBirth() => $_has(4); + @$pb.TagNumber(5) + void clearDateOfBirth() => clearField(5); + + /// ISO3 country code of the document + @$pb.TagNumber(6) + $core.String get country => $_getSZ(5); + @$pb.TagNumber(6) + set country($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasCountry() => $_has(5); + @$pb.TagNumber(6) + void clearCountry() => clearField(6); + + /// Issuance date of the document + @$pb.TagNumber(7) + $core.String get issueDate => $_getSZ(6); + @$pb.TagNumber(7) + set issueDate($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasIssueDate() => $_has(6); + @$pb.TagNumber(7) + void clearIssueDate() => clearField(7); + + /// Expiration date date of the document + @$pb.TagNumber(8) + $core.String get expirationDate => $_getSZ(7); + @$pb.TagNumber(8) + set expirationDate($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasExpirationDate() => $_has(7); + @$pb.TagNumber(8) + void clearExpirationDate() => clearField(8); } /// Request to create an Identity Verification Session diff --git a/dart/lib/src/proto/services/connect/v1/connect.pbjson.dart b/dart/lib/src/proto/services/connect/v1/connect.pbjson.dart index 9fe6107b9..f17af9508 100644 --- a/dart/lib/src/proto/services/connect/v1/connect.pbjson.dart +++ b/dart/lib/src/proto/services/connect/v1/connect.pbjson.dart @@ -242,10 +242,21 @@ const Verification$json = { '10': 'governmentIdOptions', '17': true }, + { + '1': 'normalized_government_id_data', + '3': 9, + '4': 1, + '5': 11, + '6': '.services.connect.v1.NormalizedGovernmentIdData', + '9': 2, + '10': 'normalizedGovernmentIdData', + '17': true + }, ], '8': [ {'1': '_fail_code'}, {'1': '_government_id_options'}, + {'1': '_normalized_government_id_data'}, ], }; @@ -258,7 +269,110 @@ final $typed_data.Uint8List verificationDescriptor = $convert.base64Decode( 'b2RliAEBEhYKBnJldXNlZBgFIAEoCFIGcmV1c2VkEhQKBWJlZ3VuGAYgASgGUgViZWd1bhIYCg' 'd1cGRhdGVkGAcgASgGUgd1cGRhdGVkEmEKFWdvdmVybm1lbnRfaWRfb3B0aW9ucxgIIAEoCzIo' 'LnNlcnZpY2VzLmNvbm5lY3QudjEuR292ZXJubWVudElET3B0aW9uc0gBUhNnb3Zlcm5tZW50SW' - 'RPcHRpb25ziAEBQgwKCl9mYWlsX2NvZGVCGAoWX2dvdmVybm1lbnRfaWRfb3B0aW9ucw=='); + 'RPcHRpb25ziAEBEncKHW5vcm1hbGl6ZWRfZ292ZXJubWVudF9pZF9kYXRhGAkgASgLMi8uc2Vy' + 'dmljZXMuY29ubmVjdC52MS5Ob3JtYWxpemVkR292ZXJubWVudElkRGF0YUgCUhpub3JtYWxpem' + 'VkR292ZXJubWVudElkRGF0YYgBAUIMCgpfZmFpbF9jb2RlQhgKFl9nb3Zlcm5tZW50X2lkX29w' + 'dGlvbnNCIAoeX25vcm1hbGl6ZWRfZ292ZXJubWVudF9pZF9kYXRh'); + +@$core.Deprecated('Use normalizedGovernmentIdDataDescriptor instead') +const NormalizedGovernmentIdData$json = { + '1': 'NormalizedGovernmentIdData', + '2': [ + { + '1': 'id_number', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'idNumber', + '17': true + }, + { + '1': 'given_name', + '3': 2, + '4': 1, + '5': 9, + '9': 1, + '10': 'givenName', + '17': true + }, + { + '1': 'family_name', + '3': 3, + '4': 1, + '5': 9, + '9': 2, + '10': 'familyName', + '17': true + }, + { + '1': 'address', + '3': 4, + '4': 1, + '5': 9, + '9': 3, + '10': 'address', + '17': true + }, + { + '1': 'date_of_birth', + '3': 5, + '4': 1, + '5': 9, + '9': 4, + '10': 'dateOfBirth', + '17': true + }, + { + '1': 'country', + '3': 6, + '4': 1, + '5': 9, + '9': 5, + '10': 'country', + '17': true + }, + { + '1': 'issue_date', + '3': 7, + '4': 1, + '5': 9, + '9': 6, + '10': 'issueDate', + '17': true + }, + { + '1': 'expiration_date', + '3': 8, + '4': 1, + '5': 9, + '9': 7, + '10': 'expirationDate', + '17': true + }, + ], + '8': [ + {'1': '_id_number'}, + {'1': '_given_name'}, + {'1': '_family_name'}, + {'1': '_address'}, + {'1': '_date_of_birth'}, + {'1': '_country'}, + {'1': '_issue_date'}, + {'1': '_expiration_date'}, + ], +}; + +/// Descriptor for `NormalizedGovernmentIdData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List normalizedGovernmentIdDataDescriptor = $convert.base64Decode( + 'ChpOb3JtYWxpemVkR292ZXJubWVudElkRGF0YRIgCglpZF9udW1iZXIYASABKAlIAFIIaWROdW' + '1iZXKIAQESIgoKZ2l2ZW5fbmFtZRgCIAEoCUgBUglnaXZlbk5hbWWIAQESJAoLZmFtaWx5X25h' + 'bWUYAyABKAlIAlIKZmFtaWx5TmFtZYgBARIdCgdhZGRyZXNzGAQgASgJSANSB2FkZHJlc3OIAQ' + 'ESJwoNZGF0ZV9vZl9iaXJ0aBgFIAEoCUgEUgtkYXRlT2ZCaXJ0aIgBARIdCgdjb3VudHJ5GAYg' + 'ASgJSAVSB2NvdW50cnmIAQESIgoKaXNzdWVfZGF0ZRgHIAEoCUgGUglpc3N1ZURhdGWIAQESLA' + 'oPZXhwaXJhdGlvbl9kYXRlGAggASgJSAdSDmV4cGlyYXRpb25EYXRliAEBQgwKCl9pZF9udW1i' + 'ZXJCDQoLX2dpdmVuX25hbWVCDgoMX2ZhbWlseV9uYW1lQgoKCF9hZGRyZXNzQhAKDl9kYXRlX2' + '9mX2JpcnRoQgoKCF9jb3VudHJ5Qg0KC19pc3N1ZV9kYXRlQhIKEF9leHBpcmF0aW9uX2RhdGU='); @$core.Deprecated('Use createSessionRequestDescriptor instead') const CreateSessionRequest$json = { diff --git a/docs/_static/proto.json b/docs/_static/proto.json index 649562b9f..4c6bcaf35 100644 --- a/docs/_static/proto.json +++ b/docs/_static/proto.json @@ -630,6 +630,60 @@ "file": "services/connect/v1/connect.proto", "parent": "services.connect.v1.ListSessionsResponse" }, + "services.connect.v1.NormalizedGovernmentIdData": { + "type": "message", + "collection": "messages", + "file": "services/connect/v1/connect.proto", + "parent": "" + }, + "services.connect.v1.NormalizedGovernmentIdData.address": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.country": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.date_of_birth": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.expiration_date": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.family_name": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.given_name": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.id_number": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, + "services.connect.v1.NormalizedGovernmentIdData.issue_date": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.NormalizedGovernmentIdData" + }, "services.connect.v1.RequestedVerification": { "type": "message", "collection": "messages", @@ -750,6 +804,12 @@ "file": "services/connect/v1/connect.proto", "parent": "services.connect.v1.Verification" }, + "services.connect.v1.Verification.normalized_government_id_data": { + "type": "field", + "collection": "fields", + "file": "services/connect/v1/connect.proto", + "parent": "services.connect.v1.Verification" + }, "services.connect.v1.Verification.reused": { "type": "field", "collection": "fields", @@ -4455,6 +4515,7 @@ "services.connect.v1.IDVSession", "services.connect.v1.IDVSession.VerificationsEntry", "services.connect.v1.Verification", + "services.connect.v1.NormalizedGovernmentIdData", "services.connect.v1.CreateSessionRequest", "services.connect.v1.RequestedVerification", "services.connect.v1.GovernmentIDOptions", @@ -4486,6 +4547,15 @@ "services.connect.v1.Verification.begun", "services.connect.v1.Verification.updated", "services.connect.v1.Verification.government_id_options", + "services.connect.v1.Verification.normalized_government_id_data", + "services.connect.v1.NormalizedGovernmentIdData.id_number", + "services.connect.v1.NormalizedGovernmentIdData.given_name", + "services.connect.v1.NormalizedGovernmentIdData.family_name", + "services.connect.v1.NormalizedGovernmentIdData.address", + "services.connect.v1.NormalizedGovernmentIdData.date_of_birth", + "services.connect.v1.NormalizedGovernmentIdData.country", + "services.connect.v1.NormalizedGovernmentIdData.issue_date", + "services.connect.v1.NormalizedGovernmentIdData.expiration_date", "services.connect.v1.CreateSessionRequest.verifications", "services.connect.v1.RequestedVerification.type", "services.connect.v1.RequestedVerification.government_id_options", @@ -6093,6 +6163,23 @@ "messages": [], "enums": [] }, + "services.connect.v1.NormalizedGovernmentIdData": { + "name": "NormalizedGovernmentIdData", + "full_name": "services.connect.v1.NormalizedGovernmentIdData", + "description": "", + "fields": [ + "services.connect.v1.NormalizedGovernmentIdData.id_number", + "services.connect.v1.NormalizedGovernmentIdData.given_name", + "services.connect.v1.NormalizedGovernmentIdData.family_name", + "services.connect.v1.NormalizedGovernmentIdData.address", + "services.connect.v1.NormalizedGovernmentIdData.date_of_birth", + "services.connect.v1.NormalizedGovernmentIdData.country", + "services.connect.v1.NormalizedGovernmentIdData.issue_date", + "services.connect.v1.NormalizedGovernmentIdData.expiration_date" + ], + "messages": [], + "enums": [] + }, "services.connect.v1.RequestedVerification": { "name": "RequestedVerification", "full_name": "services.connect.v1.RequestedVerification", @@ -6116,7 +6203,8 @@ "services.connect.v1.Verification.reused", "services.connect.v1.Verification.begun", "services.connect.v1.Verification.updated", - "services.connect.v1.Verification.government_id_options" + "services.connect.v1.Verification.government_id_options", + "services.connect.v1.Verification.normalized_government_id_data" ], "messages": [], "enums": [] @@ -8226,7 +8314,7 @@ "label": "LABEL_OPTIONAL", "type": "int32", "full_type": "int32", - "description": "The page index of results to return.\nStarts at `1`. \nDefaults to `1`." + "description": "The page index of results to return.\nStarts at `1`.\nDefaults to `1`." }, "services.connect.v1.ListSessionsRequest.page_size": { "name": "page_size", @@ -8260,6 +8348,70 @@ "full_type": "int32", "description": "The total number of sessions you've created" }, + "services.connect.v1.NormalizedGovernmentIdData.address": { + "name": "address", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.address", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "Full address of the document holder" + }, + "services.connect.v1.NormalizedGovernmentIdData.country": { + "name": "country", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.country", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "ISO3 country code of the document" + }, + "services.connect.v1.NormalizedGovernmentIdData.date_of_birth": { + "name": "date_of_birth", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.date_of_birth", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "Date of birth of the document holder" + }, + "services.connect.v1.NormalizedGovernmentIdData.expiration_date": { + "name": "expiration_date", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.expiration_date", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "Expiration date date of the document" + }, + "services.connect.v1.NormalizedGovernmentIdData.family_name": { + "name": "family_name", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.family_name", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "Family (\"last\") name of the document holder" + }, + "services.connect.v1.NormalizedGovernmentIdData.given_name": { + "name": "given_name", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.given_name", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "Given (\"first\") name of the document holder" + }, + "services.connect.v1.NormalizedGovernmentIdData.id_number": { + "name": "id_number", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.id_number", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "The ID number of the underlying identity document" + }, + "services.connect.v1.NormalizedGovernmentIdData.issue_date": { + "name": "issue_date", + "full_name": "services.connect.v1.NormalizedGovernmentIdData.issue_date", + "label": "LABEL_OPTIONAL", + "type": "string", + "full_type": "string", + "description": "Issuance date of the document" + }, "services.connect.v1.RequestedVerification.government_id_options": { "name": "government_id_options", "full_name": "services.connect.v1.RequestedVerification.government_id_options", @@ -8308,6 +8460,14 @@ "full_type": "string", "description": "The ID of the verification" }, + "services.connect.v1.Verification.normalized_government_id_data": { + "name": "normalized_government_id_data", + "full_name": "services.connect.v1.Verification.normalized_government_id_data", + "label": "LABEL_OPTIONAL", + "type": "NormalizedGovernmentIdData", + "full_type": "services.connect.v1.NormalizedGovernmentIdData", + "description": "Normalized output for manual parsing and usage for this verification\nOnly set if this Verification is of type `GOVERNMENT_ID` and has succeeded." + }, "services.connect.v1.Verification.reused": { "name": "reused", "full_name": "services.connect.v1.Verification.reused", diff --git a/docs/reference/proto/index.md b/docs/reference/proto/index.md index d177470cb..0ce16b59a 100644 --- a/docs/reference/proto/index.md +++ b/docs/reference/proto/index.md @@ -1027,6 +1027,28 @@ Response to `ListIDVSessionsRequest` + + +### NormalizedGovernmentIdData + + + +| Field | Type | Description | +| ----- | ---- | ----------- | +| id_number | [string](/reference/proto#string) | The ID number of the underlying identity document | +| given_name | [string](/reference/proto#string) | Given ("first") name of the document holder | +| family_name | [string](/reference/proto#string) | Family ("last") name of the document holder | +| address | [string](/reference/proto#string) | Full address of the document holder | +| date_of_birth | [string](/reference/proto#string) | Date of birth of the document holder | +| country | [string](/reference/proto#string) | ISO3 country code of the document | +| issue_date | [string](/reference/proto#string) | Issuance date of the document | +| expiration_date | [string](/reference/proto#string) | Expiration date date of the document | + + + + + + ### RequestedVerification @@ -1059,6 +1081,7 @@ A Verification that is part of an IDVSession | begun | [fixed64](/reference/proto#fixed64) | The unix timestamp, in seconds, when this verification was begun by the user -- or `0` if not yet begun. | | updated | [fixed64](/reference/proto#fixed64) | The unix timestamp, in seconds, when this verification last changed state -- or `0` if it has not yet begun. | | government_id_options | [GovernmentIDOptions](/reference/proto#services-connect-v1-GovernmentIDOptions) | The Government ID options for this Verification. Only set if this Verification is of type `GOVERNMENT_ID`. | +| normalized_government_id_data | [NormalizedGovernmentIdData](/reference/proto#services-connect-v1-NormalizedGovernmentIdData) | Normalized output for manual parsing and usage for this verification Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded. | diff --git a/go/proto/services/connect/v1/connect/connect.pb.go b/go/proto/services/connect/v1/connect/connect.pb.go index 7acf649ad..62b0f225d 100644 --- a/go/proto/services/connect/v1/connect/connect.pb.go +++ b/go/proto/services/connect/v1/connect/connect.pb.go @@ -521,6 +521,9 @@ type Verification struct { // The Government ID options for this Verification. // Only set if this Verification is of type `GOVERNMENT_ID`. GovernmentIdOptions *GovernmentIDOptions `protobuf:"bytes,8,opt,name=government_id_options,json=governmentIdOptions,proto3,oneof" json:"government_id_options,omitempty"` + // Normalized output for manual parsing and usage for this verification + // Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded. + NormalizedGovernmentIdData *NormalizedGovernmentIdData `protobuf:"bytes,9,opt,name=normalized_government_id_data,json=normalizedGovernmentIdData,proto3,oneof" json:"normalized_government_id_data,omitempty"` } func (x *Verification) Reset() { @@ -611,6 +614,124 @@ func (x *Verification) GetGovernmentIdOptions() *GovernmentIDOptions { return nil } +func (x *Verification) GetNormalizedGovernmentIdData() *NormalizedGovernmentIdData { + if x != nil { + return x.NormalizedGovernmentIdData + } + return nil +} + +type NormalizedGovernmentIdData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID number of the underlying identity document + IdNumber *string `protobuf:"bytes,1,opt,name=id_number,json=idNumber,proto3,oneof" json:"id_number,omitempty"` + // Given ("first") name of the document holder + GivenName *string `protobuf:"bytes,2,opt,name=given_name,json=givenName,proto3,oneof" json:"given_name,omitempty"` + // Family ("last") name of the document holder + FamilyName *string `protobuf:"bytes,3,opt,name=family_name,json=familyName,proto3,oneof" json:"family_name,omitempty"` + // Full address of the document holder + Address *string `protobuf:"bytes,4,opt,name=address,proto3,oneof" json:"address,omitempty"` + // Date of birth of the document holder + DateOfBirth *string `protobuf:"bytes,5,opt,name=date_of_birth,json=dateOfBirth,proto3,oneof" json:"date_of_birth,omitempty"` + // ISO3 country code of the document + Country *string `protobuf:"bytes,6,opt,name=country,proto3,oneof" json:"country,omitempty"` + // Issuance date of the document + IssueDate *string `protobuf:"bytes,7,opt,name=issue_date,json=issueDate,proto3,oneof" json:"issue_date,omitempty"` + // Expiration date date of the document + ExpirationDate *string `protobuf:"bytes,8,opt,name=expiration_date,json=expirationDate,proto3,oneof" json:"expiration_date,omitempty"` +} + +func (x *NormalizedGovernmentIdData) Reset() { + *x = NormalizedGovernmentIdData{} + if protoimpl.UnsafeEnabled { + mi := &file_services_connect_v1_connect_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NormalizedGovernmentIdData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NormalizedGovernmentIdData) ProtoMessage() {} + +func (x *NormalizedGovernmentIdData) ProtoReflect() protoreflect.Message { + mi := &file_services_connect_v1_connect_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NormalizedGovernmentIdData.ProtoReflect.Descriptor instead. +func (*NormalizedGovernmentIdData) Descriptor() ([]byte, []int) { + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{2} +} + +func (x *NormalizedGovernmentIdData) GetIdNumber() string { + if x != nil && x.IdNumber != nil { + return *x.IdNumber + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetGivenName() string { + if x != nil && x.GivenName != nil { + return *x.GivenName + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetFamilyName() string { + if x != nil && x.FamilyName != nil { + return *x.FamilyName + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetDateOfBirth() string { + if x != nil && x.DateOfBirth != nil { + return *x.DateOfBirth + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetCountry() string { + if x != nil && x.Country != nil { + return *x.Country + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetIssueDate() string { + if x != nil && x.IssueDate != nil { + return *x.IssueDate + } + return "" +} + +func (x *NormalizedGovernmentIdData) GetExpirationDate() string { + if x != nil && x.ExpirationDate != nil { + return *x.ExpirationDate + } + return "" +} + // Request to create an Identity Verification Session type CreateSessionRequest struct { state protoimpl.MessageState @@ -624,7 +745,7 @@ type CreateSessionRequest struct { func (x *CreateSessionRequest) Reset() { *x = CreateSessionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[2] + mi := &file_services_connect_v1_connect_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -637,7 +758,7 @@ func (x *CreateSessionRequest) String() string { func (*CreateSessionRequest) ProtoMessage() {} func (x *CreateSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[2] + mi := &file_services_connect_v1_connect_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -650,7 +771,7 @@ func (x *CreateSessionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSessionRequest.ProtoReflect.Descriptor instead. func (*CreateSessionRequest) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{2} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{3} } func (x *CreateSessionRequest) GetVerifications() []*RequestedVerification { @@ -677,7 +798,7 @@ type RequestedVerification struct { func (x *RequestedVerification) Reset() { *x = RequestedVerification{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[3] + mi := &file_services_connect_v1_connect_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -690,7 +811,7 @@ func (x *RequestedVerification) String() string { func (*RequestedVerification) ProtoMessage() {} func (x *RequestedVerification) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[3] + mi := &file_services_connect_v1_connect_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -703,7 +824,7 @@ func (x *RequestedVerification) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestedVerification.ProtoReflect.Descriptor instead. func (*RequestedVerification) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{3} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{4} } func (x *RequestedVerification) GetType() VerificationType { @@ -752,7 +873,7 @@ type GovernmentIDOptions struct { func (x *GovernmentIDOptions) Reset() { *x = GovernmentIDOptions{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[4] + mi := &file_services_connect_v1_connect_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -765,7 +886,7 @@ func (x *GovernmentIDOptions) String() string { func (*GovernmentIDOptions) ProtoMessage() {} func (x *GovernmentIDOptions) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[4] + mi := &file_services_connect_v1_connect_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -778,7 +899,7 @@ func (x *GovernmentIDOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use GovernmentIDOptions.ProtoReflect.Descriptor instead. func (*GovernmentIDOptions) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{4} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{5} } func (x *GovernmentIDOptions) GetFields() *GovernmentIDFields { @@ -815,7 +936,7 @@ type GovernmentIDFields struct { func (x *GovernmentIDFields) Reset() { *x = GovernmentIDFields{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[5] + mi := &file_services_connect_v1_connect_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -828,7 +949,7 @@ func (x *GovernmentIDFields) String() string { func (*GovernmentIDFields) ProtoMessage() {} func (x *GovernmentIDFields) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[5] + mi := &file_services_connect_v1_connect_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -841,7 +962,7 @@ func (x *GovernmentIDFields) ProtoReflect() protoreflect.Message { // Deprecated: Use GovernmentIDFields.ProtoReflect.Descriptor instead. func (*GovernmentIDFields) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{5} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{6} } func (x *GovernmentIDFields) GetIdNumber() bool { @@ -913,7 +1034,7 @@ type CreateSessionResponse struct { func (x *CreateSessionResponse) Reset() { *x = CreateSessionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[6] + mi := &file_services_connect_v1_connect_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -926,7 +1047,7 @@ func (x *CreateSessionResponse) String() string { func (*CreateSessionResponse) ProtoMessage() {} func (x *CreateSessionResponse) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[6] + mi := &file_services_connect_v1_connect_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -939,7 +1060,7 @@ func (x *CreateSessionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSessionResponse.ProtoReflect.Descriptor instead. func (*CreateSessionResponse) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{6} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{7} } func (x *CreateSessionResponse) GetSession() *IDVSession { @@ -962,7 +1083,7 @@ type CancelSessionRequest struct { func (x *CancelSessionRequest) Reset() { *x = CancelSessionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[7] + mi := &file_services_connect_v1_connect_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -975,7 +1096,7 @@ func (x *CancelSessionRequest) String() string { func (*CancelSessionRequest) ProtoMessage() {} func (x *CancelSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[7] + mi := &file_services_connect_v1_connect_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -988,7 +1109,7 @@ func (x *CancelSessionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelSessionRequest.ProtoReflect.Descriptor instead. func (*CancelSessionRequest) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{7} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{8} } func (x *CancelSessionRequest) GetIdvSessionId() string { @@ -1011,7 +1132,7 @@ type CancelSessionResponse struct { func (x *CancelSessionResponse) Reset() { *x = CancelSessionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[8] + mi := &file_services_connect_v1_connect_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1024,7 +1145,7 @@ func (x *CancelSessionResponse) String() string { func (*CancelSessionResponse) ProtoMessage() {} func (x *CancelSessionResponse) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[8] + mi := &file_services_connect_v1_connect_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1037,7 +1158,7 @@ func (x *CancelSessionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelSessionResponse.ProtoReflect.Descriptor instead. func (*CancelSessionResponse) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{8} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{9} } func (x *CancelSessionResponse) GetSession() *IDVSession { @@ -1060,7 +1181,7 @@ type GetSessionRequest struct { func (x *GetSessionRequest) Reset() { *x = GetSessionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[9] + mi := &file_services_connect_v1_connect_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1073,7 +1194,7 @@ func (x *GetSessionRequest) String() string { func (*GetSessionRequest) ProtoMessage() {} func (x *GetSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[9] + mi := &file_services_connect_v1_connect_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1086,7 +1207,7 @@ func (x *GetSessionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSessionRequest.ProtoReflect.Descriptor instead. func (*GetSessionRequest) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{9} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{10} } func (x *GetSessionRequest) GetIdvSessionId() string { @@ -1109,7 +1230,7 @@ type GetSessionResponse struct { func (x *GetSessionResponse) Reset() { *x = GetSessionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[10] + mi := &file_services_connect_v1_connect_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1122,7 +1243,7 @@ func (x *GetSessionResponse) String() string { func (*GetSessionResponse) ProtoMessage() {} func (x *GetSessionResponse) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[10] + mi := &file_services_connect_v1_connect_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1135,7 +1256,7 @@ func (x *GetSessionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSessionResponse.ProtoReflect.Descriptor instead. func (*GetSessionResponse) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{10} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{11} } func (x *GetSessionResponse) GetSession() *IDVSession { @@ -1168,7 +1289,7 @@ type ListSessionsRequest struct { func (x *ListSessionsRequest) Reset() { *x = ListSessionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[11] + mi := &file_services_connect_v1_connect_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1302,7 @@ func (x *ListSessionsRequest) String() string { func (*ListSessionsRequest) ProtoMessage() {} func (x *ListSessionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[11] + mi := &file_services_connect_v1_connect_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1315,7 @@ func (x *ListSessionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSessionsRequest.ProtoReflect.Descriptor instead. func (*ListSessionsRequest) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{11} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{12} } func (x *ListSessionsRequest) GetOrderBy() SessionOrdering { @@ -1243,7 +1364,7 @@ type ListSessionsResponse struct { func (x *ListSessionsResponse) Reset() { *x = ListSessionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_services_connect_v1_connect_proto_msgTypes[12] + mi := &file_services_connect_v1_connect_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1256,7 +1377,7 @@ func (x *ListSessionsResponse) String() string { func (*ListSessionsResponse) ProtoMessage() {} func (x *ListSessionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_services_connect_v1_connect_proto_msgTypes[12] + mi := &file_services_connect_v1_connect_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1269,7 +1390,7 @@ func (x *ListSessionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSessionsResponse.ProtoReflect.Descriptor instead. func (*ListSessionsResponse) Descriptor() ([]byte, []int) { - return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{12} + return file_services_connect_v1_connect_proto_rawDescGZIP(), []int{13} } func (x *ListSessionsResponse) GetSessions() []*IDVSession { @@ -1333,7 +1454,7 @@ var file_services_connect_v1_connect_proto_rawDesc = []byte{ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x70, - 0x22, 0xb7, 0x03, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x22, 0xd2, 0x04, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, @@ -1358,180 +1479,218 @@ var file_services_connect_v1_connect_proto_rawDesc = []byte{ 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x13, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x14, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x01, 0x01, 0x12, 0x77, 0x0a, 0x1d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x5f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x67, 0x6f, 0x76, - 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x44, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x91, 0x02, 0x0a, - 0x12, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x66, 0x42, 0x69, 0x72, 0x74, 0x68, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, - 0x22, 0x52, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x1a, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x5f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbb, 0x03, 0x0a, 0x1a, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x69, 0x64, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x66, + 0x42, 0x69, 0x72, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x09, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x64, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x62, + 0x69, 0x72, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, + 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbd, 0x01, + 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x44, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x67, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x56, 0x0a, + 0x13, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x76, + 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x62, + 0x69, 0x72, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x66, 0x42, 0x69, 0x72, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0x52, 0x0a, 0x15, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x44, 0x56, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, + 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x64, 0x76, 0x5f, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x64, 0x76, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x15, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x44, 0x56, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x39, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x64, 0x76, 0x5f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x64, + 0x76, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x39, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x44, 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x12, 0x4b, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x22, 0x7d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x44, 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, + 0x0a, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6d, 0x6f, + 0x72, 0x65, 0x2a, 0x25, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, + 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x00, 0x2a, 0x83, 0x01, 0x0a, 0x0f, 0x49, 0x44, + 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, + 0x0b, 0x49, 0x44, 0x56, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, + 0x0a, 0x0d, 0x49, 0x44, 0x56, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x44, 0x56, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x44, 0x56, + 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0f, + 0x0a, 0x0b, 0x49, 0x44, 0x56, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, + 0x0e, 0x0a, 0x0a, 0x49, 0x44, 0x56, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x2a, + 0x9a, 0x01, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, + 0x1e, 0x0a, 0x1a, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, + 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, + 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xe2, 0x01, 0x0a, + 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, + 0x44, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x50, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, + 0x06, 0x2a, 0xc6, 0x01, 0x0a, 0x14, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x45, + 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x56, + 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x5f, 0x49, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x10, 0x03, 0x12, 0x2a, + 0x0a, 0x26, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, + 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x2a, 0x36, 0x0a, 0x0f, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0b, 0x0a, + 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x10, 0x02, 0x32, 0x9d, 0x03, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x66, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x44, 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x69, 0x64, 0x76, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x64, 0x76, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x52, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, + 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x44, 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x39, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, - 0x64, 0x76, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x64, 0x76, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x4f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x44, 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x4b, 0x0a, 0x0f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x7d, 0x0a, 0x14, 0x4c, 0x69, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x44, 0x56, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x2a, 0x25, 0x0a, 0x10, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, - 0x0d, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x00, - 0x2a, 0x83, 0x01, 0x0a, 0x0f, 0x49, 0x44, 0x56, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x44, 0x56, 0x5f, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x44, 0x56, 0x5f, 0x49, 0x4e, 0x49, - 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x44, 0x56, 0x5f, - 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, - 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x44, 0x56, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, - 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x44, 0x56, 0x5f, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x44, 0x56, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x2a, 0x9a, 0x01, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, - 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, - 0x45, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x04, 0x2a, 0xe2, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, - 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, - 0x0a, 0x15, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, - 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, - 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x50, 0x5f, 0x43, 0x41, - 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xc6, 0x01, 0x0a, 0x14, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, - 0x1a, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x23, 0x0a, - 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, - 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, - 0x54, 0x49, 0x43, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, - 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, - 0x04, 0x2a, 0x36, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, - 0x0a, 0x05, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x02, 0x32, 0x9d, 0x03, 0x0a, 0x07, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x66, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, - 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x65, + 0x73, 0x65, 0x42, 0x5a, 0x0a, 0x1b, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x5a, 0x0a, 0x1b, 0x74, 0x72, 0x69, - 0x6e, 0x73, 0x69, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x1b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0xaa, 0x02, 0x1b, 0x54, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x50, 0x01, 0x5a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0xaa, 0x02, 0x1b, 0x54, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1547,62 +1706,64 @@ func file_services_connect_v1_connect_proto_rawDescGZIP() []byte { } var file_services_connect_v1_connect_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_services_connect_v1_connect_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_services_connect_v1_connect_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_services_connect_v1_connect_proto_goTypes = []interface{}{ - (VerificationType)(0), // 0: services.connect.v1.VerificationType - (IDVSessionState)(0), // 1: services.connect.v1.IDVSessionState - (VerificationState)(0), // 2: services.connect.v1.VerificationState - (SessionFailCode)(0), // 3: services.connect.v1.SessionFailCode - (VerificationFailCode)(0), // 4: services.connect.v1.VerificationFailCode - (SessionOrdering)(0), // 5: services.connect.v1.SessionOrdering - (*IDVSession)(nil), // 6: services.connect.v1.IDVSession - (*Verification)(nil), // 7: services.connect.v1.Verification - (*CreateSessionRequest)(nil), // 8: services.connect.v1.CreateSessionRequest - (*RequestedVerification)(nil), // 9: services.connect.v1.RequestedVerification - (*GovernmentIDOptions)(nil), // 10: services.connect.v1.GovernmentIDOptions - (*GovernmentIDFields)(nil), // 11: services.connect.v1.GovernmentIDFields - (*CreateSessionResponse)(nil), // 12: services.connect.v1.CreateSessionResponse - (*CancelSessionRequest)(nil), // 13: services.connect.v1.CancelSessionRequest - (*CancelSessionResponse)(nil), // 14: services.connect.v1.CancelSessionResponse - (*GetSessionRequest)(nil), // 15: services.connect.v1.GetSessionRequest - (*GetSessionResponse)(nil), // 16: services.connect.v1.GetSessionResponse - (*ListSessionsRequest)(nil), // 17: services.connect.v1.ListSessionsRequest - (*ListSessionsResponse)(nil), // 18: services.connect.v1.ListSessionsResponse - nil, // 19: services.connect.v1.IDVSession.VerificationsEntry - (common.OrderDirection)(0), // 20: services.common.v1.OrderDirection + (VerificationType)(0), // 0: services.connect.v1.VerificationType + (IDVSessionState)(0), // 1: services.connect.v1.IDVSessionState + (VerificationState)(0), // 2: services.connect.v1.VerificationState + (SessionFailCode)(0), // 3: services.connect.v1.SessionFailCode + (VerificationFailCode)(0), // 4: services.connect.v1.VerificationFailCode + (SessionOrdering)(0), // 5: services.connect.v1.SessionOrdering + (*IDVSession)(nil), // 6: services.connect.v1.IDVSession + (*Verification)(nil), // 7: services.connect.v1.Verification + (*NormalizedGovernmentIdData)(nil), // 8: services.connect.v1.NormalizedGovernmentIdData + (*CreateSessionRequest)(nil), // 9: services.connect.v1.CreateSessionRequest + (*RequestedVerification)(nil), // 10: services.connect.v1.RequestedVerification + (*GovernmentIDOptions)(nil), // 11: services.connect.v1.GovernmentIDOptions + (*GovernmentIDFields)(nil), // 12: services.connect.v1.GovernmentIDFields + (*CreateSessionResponse)(nil), // 13: services.connect.v1.CreateSessionResponse + (*CancelSessionRequest)(nil), // 14: services.connect.v1.CancelSessionRequest + (*CancelSessionResponse)(nil), // 15: services.connect.v1.CancelSessionResponse + (*GetSessionRequest)(nil), // 16: services.connect.v1.GetSessionRequest + (*GetSessionResponse)(nil), // 17: services.connect.v1.GetSessionResponse + (*ListSessionsRequest)(nil), // 18: services.connect.v1.ListSessionsRequest + (*ListSessionsResponse)(nil), // 19: services.connect.v1.ListSessionsResponse + nil, // 20: services.connect.v1.IDVSession.VerificationsEntry + (common.OrderDirection)(0), // 21: services.common.v1.OrderDirection } var file_services_connect_v1_connect_proto_depIdxs = []int32{ 1, // 0: services.connect.v1.IDVSession.state:type_name -> services.connect.v1.IDVSessionState - 19, // 1: services.connect.v1.IDVSession.verifications:type_name -> services.connect.v1.IDVSession.VerificationsEntry + 20, // 1: services.connect.v1.IDVSession.verifications:type_name -> services.connect.v1.IDVSession.VerificationsEntry 3, // 2: services.connect.v1.IDVSession.fail_code:type_name -> services.connect.v1.SessionFailCode 0, // 3: services.connect.v1.Verification.type:type_name -> services.connect.v1.VerificationType 2, // 4: services.connect.v1.Verification.state:type_name -> services.connect.v1.VerificationState 4, // 5: services.connect.v1.Verification.fail_code:type_name -> services.connect.v1.VerificationFailCode - 10, // 6: services.connect.v1.Verification.government_id_options:type_name -> services.connect.v1.GovernmentIDOptions - 9, // 7: services.connect.v1.CreateSessionRequest.verifications:type_name -> services.connect.v1.RequestedVerification - 0, // 8: services.connect.v1.RequestedVerification.type:type_name -> services.connect.v1.VerificationType - 10, // 9: services.connect.v1.RequestedVerification.government_id_options:type_name -> services.connect.v1.GovernmentIDOptions - 11, // 10: services.connect.v1.GovernmentIDOptions.fields:type_name -> services.connect.v1.GovernmentIDFields - 6, // 11: services.connect.v1.CreateSessionResponse.session:type_name -> services.connect.v1.IDVSession - 6, // 12: services.connect.v1.CancelSessionResponse.session:type_name -> services.connect.v1.IDVSession - 6, // 13: services.connect.v1.GetSessionResponse.session:type_name -> services.connect.v1.IDVSession - 5, // 14: services.connect.v1.ListSessionsRequest.order_by:type_name -> services.connect.v1.SessionOrdering - 20, // 15: services.connect.v1.ListSessionsRequest.order_direction:type_name -> services.common.v1.OrderDirection - 6, // 16: services.connect.v1.ListSessionsResponse.sessions:type_name -> services.connect.v1.IDVSession - 7, // 17: services.connect.v1.IDVSession.VerificationsEntry.value:type_name -> services.connect.v1.Verification - 8, // 18: services.connect.v1.Connect.CreateSession:input_type -> services.connect.v1.CreateSessionRequest - 13, // 19: services.connect.v1.Connect.CancelSession:input_type -> services.connect.v1.CancelSessionRequest - 15, // 20: services.connect.v1.Connect.GetSession:input_type -> services.connect.v1.GetSessionRequest - 17, // 21: services.connect.v1.Connect.ListSessions:input_type -> services.connect.v1.ListSessionsRequest - 12, // 22: services.connect.v1.Connect.CreateSession:output_type -> services.connect.v1.CreateSessionResponse - 14, // 23: services.connect.v1.Connect.CancelSession:output_type -> services.connect.v1.CancelSessionResponse - 16, // 24: services.connect.v1.Connect.GetSession:output_type -> services.connect.v1.GetSessionResponse - 18, // 25: services.connect.v1.Connect.ListSessions:output_type -> services.connect.v1.ListSessionsResponse - 22, // [22:26] is the sub-list for method output_type - 18, // [18:22] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 11, // 6: services.connect.v1.Verification.government_id_options:type_name -> services.connect.v1.GovernmentIDOptions + 8, // 7: services.connect.v1.Verification.normalized_government_id_data:type_name -> services.connect.v1.NormalizedGovernmentIdData + 10, // 8: services.connect.v1.CreateSessionRequest.verifications:type_name -> services.connect.v1.RequestedVerification + 0, // 9: services.connect.v1.RequestedVerification.type:type_name -> services.connect.v1.VerificationType + 11, // 10: services.connect.v1.RequestedVerification.government_id_options:type_name -> services.connect.v1.GovernmentIDOptions + 12, // 11: services.connect.v1.GovernmentIDOptions.fields:type_name -> services.connect.v1.GovernmentIDFields + 6, // 12: services.connect.v1.CreateSessionResponse.session:type_name -> services.connect.v1.IDVSession + 6, // 13: services.connect.v1.CancelSessionResponse.session:type_name -> services.connect.v1.IDVSession + 6, // 14: services.connect.v1.GetSessionResponse.session:type_name -> services.connect.v1.IDVSession + 5, // 15: services.connect.v1.ListSessionsRequest.order_by:type_name -> services.connect.v1.SessionOrdering + 21, // 16: services.connect.v1.ListSessionsRequest.order_direction:type_name -> services.common.v1.OrderDirection + 6, // 17: services.connect.v1.ListSessionsResponse.sessions:type_name -> services.connect.v1.IDVSession + 7, // 18: services.connect.v1.IDVSession.VerificationsEntry.value:type_name -> services.connect.v1.Verification + 9, // 19: services.connect.v1.Connect.CreateSession:input_type -> services.connect.v1.CreateSessionRequest + 14, // 20: services.connect.v1.Connect.CancelSession:input_type -> services.connect.v1.CancelSessionRequest + 16, // 21: services.connect.v1.Connect.GetSession:input_type -> services.connect.v1.GetSessionRequest + 18, // 22: services.connect.v1.Connect.ListSessions:input_type -> services.connect.v1.ListSessionsRequest + 13, // 23: services.connect.v1.Connect.CreateSession:output_type -> services.connect.v1.CreateSessionResponse + 15, // 24: services.connect.v1.Connect.CancelSession:output_type -> services.connect.v1.CancelSessionResponse + 17, // 25: services.connect.v1.Connect.GetSession:output_type -> services.connect.v1.GetSessionResponse + 19, // 26: services.connect.v1.Connect.ListSessions:output_type -> services.connect.v1.ListSessionsResponse + 23, // [23:27] is the sub-list for method output_type + 19, // [19:23] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_services_connect_v1_connect_proto_init() } @@ -1636,7 +1797,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSessionRequest); i { + switch v := v.(*NormalizedGovernmentIdData); i { case 0: return &v.state case 1: @@ -1648,7 +1809,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestedVerification); i { + switch v := v.(*CreateSessionRequest); i { case 0: return &v.state case 1: @@ -1660,7 +1821,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GovernmentIDOptions); i { + switch v := v.(*RequestedVerification); i { case 0: return &v.state case 1: @@ -1672,7 +1833,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GovernmentIDFields); i { + switch v := v.(*GovernmentIDOptions); i { case 0: return &v.state case 1: @@ -1684,7 +1845,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSessionResponse); i { + switch v := v.(*GovernmentIDFields); i { case 0: return &v.state case 1: @@ -1696,7 +1857,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelSessionRequest); i { + switch v := v.(*CreateSessionResponse); i { case 0: return &v.state case 1: @@ -1708,7 +1869,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelSessionResponse); i { + switch v := v.(*CancelSessionRequest); i { case 0: return &v.state case 1: @@ -1720,7 +1881,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSessionRequest); i { + switch v := v.(*CancelSessionResponse); i { case 0: return &v.state case 1: @@ -1732,7 +1893,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSessionResponse); i { + switch v := v.(*GetSessionRequest); i { case 0: return &v.state case 1: @@ -1744,7 +1905,7 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSessionsRequest); i { + switch v := v.(*GetSessionResponse); i { case 0: return &v.state case 1: @@ -1756,6 +1917,18 @@ func file_services_connect_v1_connect_proto_init() { } } file_services_connect_v1_connect_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSessionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_services_connect_v1_connect_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSessionsResponse); i { case 0: return &v.state @@ -1770,17 +1943,18 @@ func file_services_connect_v1_connect_proto_init() { } file_services_connect_v1_connect_proto_msgTypes[0].OneofWrappers = []interface{}{} file_services_connect_v1_connect_proto_msgTypes[1].OneofWrappers = []interface{}{} - file_services_connect_v1_connect_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_services_connect_v1_connect_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_services_connect_v1_connect_proto_msgTypes[4].OneofWrappers = []interface{}{ (*RequestedVerification_GovernmentIdOptions)(nil), } - file_services_connect_v1_connect_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_services_connect_v1_connect_proto_msgTypes[12].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_services_connect_v1_connect_proto_rawDesc, NumEnums: 6, - NumMessages: 14, + NumMessages: 15, NumExtensions: 0, NumServices: 1, }, diff --git a/java/src/main/java/trinsic/services/connect/v1/ConnectOuterClass.java b/java/src/main/java/trinsic/services/connect/v1/ConnectOuterClass.java index f4c12704a..f3bdabc8a 100644 --- a/java/src/main/java/trinsic/services/connect/v1/ConnectOuterClass.java +++ b/java/src/main/java/trinsic/services/connect/v1/ConnectOuterClass.java @@ -24,6 +24,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_services_connect_v1_Verification_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_services_connect_v1_Verification_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_services_connect_v1_NormalizedGovernmentIdData_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_services_connect_v1_NormalizedGovernmentIdData_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_services_connect_v1_CreateSessionRequest_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -95,7 +99,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\003key\030\001 \001(\t\0220\n" + "\005value\030\002 \001(\0132!.services.connect.v1.Verification:\0028\001B\014\n\n" + "_fail_codeB\014\n\n" - + "_result_vp\"\357\002\n" + + "_result_vp\"\356\003\n" + "\014Verification\022\n\n" + "\002id\030\001 \001(\t\0223\n" + "\004type\030\002 \001(\0162%.services.connect.v1.VerificationType\0225\n" @@ -106,12 +110,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\005begun\030\006 \001(\006\022\017\n" + "\007updated\030\007 \001(\006\022L\n" + "\025government_id_options\030\010" - + " \001(\0132(.services.connect.v1.GovernmentIDOptionsH\001\210\001\001B\014\n\n" + + " \001(\0132(.services.connect.v1.GovernmentIDOptionsH\001\210\001\001\022[\n" + + "\035normalized_government_id_data\030\t \001(\0132/.servi" + + "ces.connect.v1.NormalizedGovernmentIdDataH\002\210\001\001B\014\n\n" + "_fail_codeB\030\n" - + "\026_government_id_options\"Y\n" + + "\026_government_id_optionsB \n" + + "\036_normalized_government_id_data\"\273\003\n" + + "\032NormalizedGovernmentIdData\022 \n" + + "\tid_number\030\001 \001(\tH\000R\010idNumber\210\001\001\022\"\n\n" + + "given_name\030\002 \001(\tH\001R\tgivenName\210\001\001\022$\n" + + "\013family_name\030\003 \001(\tH\002R\n" + + "familyName\210\001\001\022\035\n" + + "\007address\030\004 \001(\tH\003R\007address\210\001\001\022\'\n\r" + + "date_of_birth\030\005 \001(\tH\004R\013dateOfBirth\210\001\001\022\035\n" + + "\007country\030\006 \001(\tH\005R\007country\210\001\001\022\"\n\n" + + "issue_date\030\007 \001(\tH\006R\tissueDate\210\001\001\022,\n" + + "\017expiration_date\030\010 \001(\tH\007R\016expirationDate\210\001\001B\014\n\n" + + "_id_numberB\r\n" + + "\013_given_nameB\016\n" + + "\014_family_nameB\n\n" + + "\010_addressB\020\n" + + "\016_date_of_birthB\n\n" + + "\010_countryB\r\n" + + "\013_issue_dateB\022\n" + + "\020_expiration_date\"Y\n" + "\024CreateSessionRequest\022A\n\r" - + "verifications\030\001 \003(\013" - + "2*.services.connect.v1.RequestedVerification\"\242\001\n" + + "verifications\030\001" + + " \003(\0132*.services.connect.v1.RequestedVerification\"\242\001\n" + "\025RequestedVerification\0223\n" + "\004type\030\001 \001(\0162%.services.connect.v1.VerificationType\022I\n" + "\025government_id_options\030\002" @@ -183,16 +208,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\007UPDATED\020\001\022\t\n" + "\005STATE\020\0022\235\003\n" + "\007Connect\022f\n\r" - + "CreateSession\022).services.con" - + "nect.v1.CreateSessionRequest\032*.services.connect.v1.CreateSessionResponse\022f\n\r" - + "CancelSession\022).services.connect.v1.CancelSe" - + "ssionRequest\032*.services.connect.v1.CancelSessionResponse\022]\n\n" - + "GetSession\022&.service" - + "s.connect.v1.GetSessionRequest\032\'.services.connect.v1.GetSessionResponse\022c\n" - + "\014ListSessions\022(.services.connect.v1.ListSessio" - + "nsRequest\032).services.connect.v1.ListSessionsResponseBZ\n" - + "\033trinsic.services.connect.v1P\001Z\033services/connect/v1/connect\252\002\033Tri" - + "nsic.Services.Connect.V1b\006proto3" + + "CreateSession\022).services.connect.v1.CreateSessionReques" + + "t\032*.services.connect.v1.CreateSessionResponse\022f\n\r" + + "CancelSession\022).services.connec" + + "t.v1.CancelSessionRequest\032*.services.connect.v1.CancelSessionResponse\022]\n\n" + + "GetSession\022&.services.connect.v1.GetSessionRequ" + + "est\032\'.services.connect.v1.GetSessionResponse\022c\n" + + "\014ListSessions\022(.services.connect." + + "v1.ListSessionsRequest\032).services.connect.v1.ListSessionsResponseBZ\n" + + "\033trinsic.services.connect.v1P\001Z\033services/connect/v1/" + + "connect\252\002\033Trinsic.Services.Connect.V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -239,11 +264,36 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Begun", "Updated", "GovernmentIdOptions", + "NormalizedGovernmentIdData", "FailCode", "GovernmentIdOptions", + "NormalizedGovernmentIdData", }); - internal_static_services_connect_v1_CreateSessionRequest_descriptor = + internal_static_services_connect_v1_NormalizedGovernmentIdData_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_services_connect_v1_NormalizedGovernmentIdData_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_services_connect_v1_NormalizedGovernmentIdData_descriptor, + new java.lang.String[] { + "IdNumber", + "GivenName", + "FamilyName", + "Address", + "DateOfBirth", + "Country", + "IssueDate", + "ExpirationDate", + "IdNumber", + "GivenName", + "FamilyName", + "Address", + "DateOfBirth", + "Country", + "IssueDate", + "ExpirationDate", + }); + internal_static_services_connect_v1_CreateSessionRequest_descriptor = + getDescriptor().getMessageTypes().get(3); internal_static_services_connect_v1_CreateSessionRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_CreateSessionRequest_descriptor, @@ -251,7 +301,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Verifications", }); internal_static_services_connect_v1_RequestedVerification_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(4); internal_static_services_connect_v1_RequestedVerification_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_RequestedVerification_descriptor, @@ -259,7 +309,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Type", "GovernmentIdOptions", "Options", }); internal_static_services_connect_v1_GovernmentIDOptions_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(5); internal_static_services_connect_v1_GovernmentIDOptions_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_GovernmentIDOptions_descriptor, @@ -267,7 +317,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Fields", }); internal_static_services_connect_v1_GovernmentIDFields_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(6); internal_static_services_connect_v1_GovernmentIDFields_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_GovernmentIDFields_descriptor, @@ -282,7 +332,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ExpirationDate", }); internal_static_services_connect_v1_CreateSessionResponse_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(7); internal_static_services_connect_v1_CreateSessionResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_CreateSessionResponse_descriptor, @@ -290,7 +340,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Session", }); internal_static_services_connect_v1_CancelSessionRequest_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(8); internal_static_services_connect_v1_CancelSessionRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_CancelSessionRequest_descriptor, @@ -298,7 +348,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "IdvSessionId", }); internal_static_services_connect_v1_CancelSessionResponse_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(9); internal_static_services_connect_v1_CancelSessionResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_CancelSessionResponse_descriptor, @@ -306,7 +356,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Session", }); internal_static_services_connect_v1_GetSessionRequest_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(10); internal_static_services_connect_v1_GetSessionRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_GetSessionRequest_descriptor, @@ -314,7 +364,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "IdvSessionId", }); internal_static_services_connect_v1_GetSessionResponse_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(11); internal_static_services_connect_v1_GetSessionResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_GetSessionResponse_descriptor, @@ -322,7 +372,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Session", }); internal_static_services_connect_v1_ListSessionsRequest_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(12); internal_static_services_connect_v1_ListSessionsRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_ListSessionsRequest_descriptor, @@ -330,7 +380,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "OrderBy", "OrderDirection", "PageSize", "Page", "PageSize", "Page", }); internal_static_services_connect_v1_ListSessionsResponse_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(13); internal_static_services_connect_v1_ListSessionsResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_services_connect_v1_ListSessionsResponse_descriptor, diff --git a/java/src/main/java/trinsic/services/connect/v1/NormalizedGovernmentIdData.java b/java/src/main/java/trinsic/services/connect/v1/NormalizedGovernmentIdData.java new file mode 100644 index 000000000..ea52d5442 --- /dev/null +++ b/java/src/main/java/trinsic/services/connect/v1/NormalizedGovernmentIdData.java @@ -0,0 +1,2141 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: services/connect/v1/connect.proto + +package trinsic.services.connect.v1; + +/** Protobuf type {@code services.connect.v1.NormalizedGovernmentIdData} */ +public final class NormalizedGovernmentIdData extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:services.connect.v1.NormalizedGovernmentIdData) + NormalizedGovernmentIdDataOrBuilder { + private static final long serialVersionUID = 0L; + // Use NormalizedGovernmentIdData.newBuilder() to construct. + private NormalizedGovernmentIdData(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private NormalizedGovernmentIdData() { + idNumber_ = ""; + givenName_ = ""; + familyName_ = ""; + address_ = ""; + dateOfBirth_ = ""; + country_ = ""; + issueDate_ = ""; + expirationDate_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new NormalizedGovernmentIdData(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return trinsic.services.connect.v1.ConnectOuterClass + .internal_static_services_connect_v1_NormalizedGovernmentIdData_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return trinsic.services.connect.v1.ConnectOuterClass + .internal_static_services_connect_v1_NormalizedGovernmentIdData_fieldAccessorTable + .ensureFieldAccessorsInitialized( + trinsic.services.connect.v1.NormalizedGovernmentIdData.class, + trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder.class); + } + + private int bitField0_; + public static final int ID_NUMBER_FIELD_NUMBER = 1; + private volatile java.lang.Object idNumber_; + /** + * + * + *
+   * The ID number of the underlying identity document
+   * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return Whether the idNumber field is set. + */ + @java.lang.Override + public boolean hasIdNumber() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * + * + *
+   * The ID number of the underlying identity document
+   * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return The idNumber. + */ + @java.lang.Override + public java.lang.String getIdNumber() { + java.lang.Object ref = idNumber_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + idNumber_ = s; + return s; + } + } + /** + * + * + *
+   * The ID number of the underlying identity document
+   * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return The bytes for idNumber. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdNumberBytes() { + java.lang.Object ref = idNumber_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + idNumber_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int GIVEN_NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object givenName_; + /** + * + * + *
+   * Given ("first") name of the document holder
+   * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return Whether the givenName field is set. + */ + @java.lang.Override + public boolean hasGivenName() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * + * + *
+   * Given ("first") name of the document holder
+   * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return The givenName. + */ + @java.lang.Override + public java.lang.String getGivenName() { + java.lang.Object ref = givenName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + givenName_ = s; + return s; + } + } + /** + * + * + *
+   * Given ("first") name of the document holder
+   * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return The bytes for givenName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getGivenNameBytes() { + java.lang.Object ref = givenName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + givenName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FAMILY_NAME_FIELD_NUMBER = 3; + private volatile java.lang.Object familyName_; + /** + * + * + *
+   * Family ("last") name of the document holder
+   * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return Whether the familyName field is set. + */ + @java.lang.Override + public boolean hasFamilyName() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * + * + *
+   * Family ("last") name of the document holder
+   * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return The familyName. + */ + @java.lang.Override + public java.lang.String getFamilyName() { + java.lang.Object ref = familyName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + familyName_ = s; + return s; + } + } + /** + * + * + *
+   * Family ("last") name of the document holder
+   * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return The bytes for familyName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFamilyNameBytes() { + java.lang.Object ref = familyName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + familyName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ADDRESS_FIELD_NUMBER = 4; + private volatile java.lang.Object address_; + /** + * + * + *
+   * Full address of the document holder
+   * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return Whether the address field is set. + */ + @java.lang.Override + public boolean hasAddress() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * + * + *
+   * Full address of the document holder
+   * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return The address. + */ + @java.lang.Override + public java.lang.String getAddress() { + java.lang.Object ref = address_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + address_ = s; + return s; + } + } + /** + * + * + *
+   * Full address of the document holder
+   * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return The bytes for address. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAddressBytes() { + java.lang.Object ref = address_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + address_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DATE_OF_BIRTH_FIELD_NUMBER = 5; + private volatile java.lang.Object dateOfBirth_; + /** + * + * + *
+   * Date of birth of the document holder
+   * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return Whether the dateOfBirth field is set. + */ + @java.lang.Override + public boolean hasDateOfBirth() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * + * + *
+   * Date of birth of the document holder
+   * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return The dateOfBirth. + */ + @java.lang.Override + public java.lang.String getDateOfBirth() { + java.lang.Object ref = dateOfBirth_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dateOfBirth_ = s; + return s; + } + } + /** + * + * + *
+   * Date of birth of the document holder
+   * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return The bytes for dateOfBirth. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDateOfBirthBytes() { + java.lang.Object ref = dateOfBirth_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + dateOfBirth_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int COUNTRY_FIELD_NUMBER = 6; + private volatile java.lang.Object country_; + /** + * + * + *
+   * ISO3 country code of the document
+   * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return Whether the country field is set. + */ + @java.lang.Override + public boolean hasCountry() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * + * + *
+   * ISO3 country code of the document
+   * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return The country. + */ + @java.lang.Override + public java.lang.String getCountry() { + java.lang.Object ref = country_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + country_ = s; + return s; + } + } + /** + * + * + *
+   * ISO3 country code of the document
+   * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return The bytes for country. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCountryBytes() { + java.lang.Object ref = country_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + country_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ISSUE_DATE_FIELD_NUMBER = 7; + private volatile java.lang.Object issueDate_; + /** + * + * + *
+   * Issuance date of the document
+   * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return Whether the issueDate field is set. + */ + @java.lang.Override + public boolean hasIssueDate() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * + * + *
+   * Issuance date of the document
+   * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return The issueDate. + */ + @java.lang.Override + public java.lang.String getIssueDate() { + java.lang.Object ref = issueDate_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + issueDate_ = s; + return s; + } + } + /** + * + * + *
+   * Issuance date of the document
+   * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return The bytes for issueDate. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIssueDateBytes() { + java.lang.Object ref = issueDate_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + issueDate_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EXPIRATION_DATE_FIELD_NUMBER = 8; + private volatile java.lang.Object expirationDate_; + /** + * + * + *
+   * Expiration date date of the document
+   * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return Whether the expirationDate field is set. + */ + @java.lang.Override + public boolean hasExpirationDate() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * + * + *
+   * Expiration date date of the document
+   * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return The expirationDate. + */ + @java.lang.Override + public java.lang.String getExpirationDate() { + java.lang.Object ref = expirationDate_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + expirationDate_ = s; + return s; + } + } + /** + * + * + *
+   * Expiration date date of the document
+   * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return The bytes for expirationDate. + */ + @java.lang.Override + public com.google.protobuf.ByteString getExpirationDateBytes() { + java.lang.Object ref = expirationDate_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + expirationDate_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, idNumber_); + } + if (((bitField0_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, givenName_); + } + if (((bitField0_ & 0x00000004) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, familyName_); + } + if (((bitField0_ & 0x00000008) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, address_); + } + if (((bitField0_ & 0x00000010) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, dateOfBirth_); + } + if (((bitField0_ & 0x00000020) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, country_); + } + if (((bitField0_ & 0x00000040) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, issueDate_); + } + if (((bitField0_ & 0x00000080) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 8, expirationDate_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, idNumber_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, givenName_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, familyName_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, address_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, dateOfBirth_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, country_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, issueDate_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, expirationDate_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof trinsic.services.connect.v1.NormalizedGovernmentIdData)) { + return super.equals(obj); + } + trinsic.services.connect.v1.NormalizedGovernmentIdData other = + (trinsic.services.connect.v1.NormalizedGovernmentIdData) obj; + + if (hasIdNumber() != other.hasIdNumber()) return false; + if (hasIdNumber()) { + if (!getIdNumber().equals(other.getIdNumber())) return false; + } + if (hasGivenName() != other.hasGivenName()) return false; + if (hasGivenName()) { + if (!getGivenName().equals(other.getGivenName())) return false; + } + if (hasFamilyName() != other.hasFamilyName()) return false; + if (hasFamilyName()) { + if (!getFamilyName().equals(other.getFamilyName())) return false; + } + if (hasAddress() != other.hasAddress()) return false; + if (hasAddress()) { + if (!getAddress().equals(other.getAddress())) return false; + } + if (hasDateOfBirth() != other.hasDateOfBirth()) return false; + if (hasDateOfBirth()) { + if (!getDateOfBirth().equals(other.getDateOfBirth())) return false; + } + if (hasCountry() != other.hasCountry()) return false; + if (hasCountry()) { + if (!getCountry().equals(other.getCountry())) return false; + } + if (hasIssueDate() != other.hasIssueDate()) return false; + if (hasIssueDate()) { + if (!getIssueDate().equals(other.getIssueDate())) return false; + } + if (hasExpirationDate() != other.hasExpirationDate()) return false; + if (hasExpirationDate()) { + if (!getExpirationDate().equals(other.getExpirationDate())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasIdNumber()) { + hash = (37 * hash) + ID_NUMBER_FIELD_NUMBER; + hash = (53 * hash) + getIdNumber().hashCode(); + } + if (hasGivenName()) { + hash = (37 * hash) + GIVEN_NAME_FIELD_NUMBER; + hash = (53 * hash) + getGivenName().hashCode(); + } + if (hasFamilyName()) { + hash = (37 * hash) + FAMILY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getFamilyName().hashCode(); + } + if (hasAddress()) { + hash = (37 * hash) + ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getAddress().hashCode(); + } + if (hasDateOfBirth()) { + hash = (37 * hash) + DATE_OF_BIRTH_FIELD_NUMBER; + hash = (53 * hash) + getDateOfBirth().hashCode(); + } + if (hasCountry()) { + hash = (37 * hash) + COUNTRY_FIELD_NUMBER; + hash = (53 * hash) + getCountry().hashCode(); + } + if (hasIssueDate()) { + hash = (37 * hash) + ISSUE_DATE_FIELD_NUMBER; + hash = (53 * hash) + getIssueDate().hashCode(); + } + if (hasExpirationDate()) { + hash = (37 * hash) + EXPIRATION_DATE_FIELD_NUMBER; + hash = (53 * hash) + getExpirationDate().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + trinsic.services.connect.v1.NormalizedGovernmentIdData prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** Protobuf type {@code services.connect.v1.NormalizedGovernmentIdData} */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:services.connect.v1.NormalizedGovernmentIdData) + trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return trinsic.services.connect.v1.ConnectOuterClass + .internal_static_services_connect_v1_NormalizedGovernmentIdData_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return trinsic.services.connect.v1.ConnectOuterClass + .internal_static_services_connect_v1_NormalizedGovernmentIdData_fieldAccessorTable + .ensureFieldAccessorsInitialized( + trinsic.services.connect.v1.NormalizedGovernmentIdData.class, + trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder.class); + } + + // Construct using trinsic.services.connect.v1.NormalizedGovernmentIdData.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + idNumber_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + givenName_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + familyName_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + address_ = ""; + bitField0_ = (bitField0_ & ~0x00000008); + dateOfBirth_ = ""; + bitField0_ = (bitField0_ & ~0x00000010); + country_ = ""; + bitField0_ = (bitField0_ & ~0x00000020); + issueDate_ = ""; + bitField0_ = (bitField0_ & ~0x00000040); + expirationDate_ = ""; + bitField0_ = (bitField0_ & ~0x00000080); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return trinsic.services.connect.v1.ConnectOuterClass + .internal_static_services_connect_v1_NormalizedGovernmentIdData_descriptor; + } + + @java.lang.Override + public trinsic.services.connect.v1.NormalizedGovernmentIdData getDefaultInstanceForType() { + return trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance(); + } + + @java.lang.Override + public trinsic.services.connect.v1.NormalizedGovernmentIdData build() { + trinsic.services.connect.v1.NormalizedGovernmentIdData result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public trinsic.services.connect.v1.NormalizedGovernmentIdData buildPartial() { + trinsic.services.connect.v1.NormalizedGovernmentIdData result = + new trinsic.services.connect.v1.NormalizedGovernmentIdData(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.idNumber_ = idNumber_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.givenName_ = givenName_; + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000004; + } + result.familyName_ = familyName_; + if (((from_bitField0_ & 0x00000008) != 0)) { + to_bitField0_ |= 0x00000008; + } + result.address_ = address_; + if (((from_bitField0_ & 0x00000010) != 0)) { + to_bitField0_ |= 0x00000010; + } + result.dateOfBirth_ = dateOfBirth_; + if (((from_bitField0_ & 0x00000020) != 0)) { + to_bitField0_ |= 0x00000020; + } + result.country_ = country_; + if (((from_bitField0_ & 0x00000040) != 0)) { + to_bitField0_ |= 0x00000040; + } + result.issueDate_ = issueDate_; + if (((from_bitField0_ & 0x00000080) != 0)) { + to_bitField0_ |= 0x00000080; + } + result.expirationDate_ = expirationDate_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof trinsic.services.connect.v1.NormalizedGovernmentIdData) { + return mergeFrom((trinsic.services.connect.v1.NormalizedGovernmentIdData) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(trinsic.services.connect.v1.NormalizedGovernmentIdData other) { + if (other == trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance()) + return this; + if (other.hasIdNumber()) { + bitField0_ |= 0x00000001; + idNumber_ = other.idNumber_; + onChanged(); + } + if (other.hasGivenName()) { + bitField0_ |= 0x00000002; + givenName_ = other.givenName_; + onChanged(); + } + if (other.hasFamilyName()) { + bitField0_ |= 0x00000004; + familyName_ = other.familyName_; + onChanged(); + } + if (other.hasAddress()) { + bitField0_ |= 0x00000008; + address_ = other.address_; + onChanged(); + } + if (other.hasDateOfBirth()) { + bitField0_ |= 0x00000010; + dateOfBirth_ = other.dateOfBirth_; + onChanged(); + } + if (other.hasCountry()) { + bitField0_ |= 0x00000020; + country_ = other.country_; + onChanged(); + } + if (other.hasIssueDate()) { + bitField0_ |= 0x00000040; + issueDate_ = other.issueDate_; + onChanged(); + } + if (other.hasExpirationDate()) { + bitField0_ |= 0x00000080; + expirationDate_ = other.expirationDate_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + idNumber_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + givenName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + familyName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + address_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + dateOfBirth_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: + { + country_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 50 + case 58: + { + issueDate_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 58 + case 66: + { + expirationDate_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000080; + break; + } // case 66 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object idNumber_ = ""; + /** + * + * + *
+     * The ID number of the underlying identity document
+     * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return Whether the idNumber field is set. + */ + public boolean hasIdNumber() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * + * + *
+     * The ID number of the underlying identity document
+     * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return The idNumber. + */ + public java.lang.String getIdNumber() { + java.lang.Object ref = idNumber_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + idNumber_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * The ID number of the underlying identity document
+     * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return The bytes for idNumber. + */ + public com.google.protobuf.ByteString getIdNumberBytes() { + java.lang.Object ref = idNumber_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + idNumber_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * The ID number of the underlying identity document
+     * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @param value The idNumber to set. + * @return This builder for chaining. + */ + public Builder setIdNumber(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + idNumber_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * The ID number of the underlying identity document
+     * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return This builder for chaining. + */ + public Builder clearIdNumber() { + bitField0_ = (bitField0_ & ~0x00000001); + idNumber_ = getDefaultInstance().getIdNumber(); + onChanged(); + return this; + } + /** + * + * + *
+     * The ID number of the underlying identity document
+     * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @param value The bytes for idNumber to set. + * @return This builder for chaining. + */ + public Builder setIdNumberBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000001; + idNumber_ = value; + onChanged(); + return this; + } + + private java.lang.Object givenName_ = ""; + /** + * + * + *
+     * Given ("first") name of the document holder
+     * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return Whether the givenName field is set. + */ + public boolean hasGivenName() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * + * + *
+     * Given ("first") name of the document holder
+     * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return The givenName. + */ + public java.lang.String getGivenName() { + java.lang.Object ref = givenName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + givenName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Given ("first") name of the document holder
+     * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return The bytes for givenName. + */ + public com.google.protobuf.ByteString getGivenNameBytes() { + java.lang.Object ref = givenName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + givenName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Given ("first") name of the document holder
+     * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @param value The givenName to set. + * @return This builder for chaining. + */ + public Builder setGivenName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + givenName_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Given ("first") name of the document holder
+     * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return This builder for chaining. + */ + public Builder clearGivenName() { + bitField0_ = (bitField0_ & ~0x00000002); + givenName_ = getDefaultInstance().getGivenName(); + onChanged(); + return this; + } + /** + * + * + *
+     * Given ("first") name of the document holder
+     * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @param value The bytes for givenName to set. + * @return This builder for chaining. + */ + public Builder setGivenNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000002; + givenName_ = value; + onChanged(); + return this; + } + + private java.lang.Object familyName_ = ""; + /** + * + * + *
+     * Family ("last") name of the document holder
+     * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return Whether the familyName field is set. + */ + public boolean hasFamilyName() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * + * + *
+     * Family ("last") name of the document holder
+     * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return The familyName. + */ + public java.lang.String getFamilyName() { + java.lang.Object ref = familyName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + familyName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Family ("last") name of the document holder
+     * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return The bytes for familyName. + */ + public com.google.protobuf.ByteString getFamilyNameBytes() { + java.lang.Object ref = familyName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + familyName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Family ("last") name of the document holder
+     * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @param value The familyName to set. + * @return This builder for chaining. + */ + public Builder setFamilyName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + familyName_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Family ("last") name of the document holder
+     * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return This builder for chaining. + */ + public Builder clearFamilyName() { + bitField0_ = (bitField0_ & ~0x00000004); + familyName_ = getDefaultInstance().getFamilyName(); + onChanged(); + return this; + } + /** + * + * + *
+     * Family ("last") name of the document holder
+     * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @param value The bytes for familyName to set. + * @return This builder for chaining. + */ + public Builder setFamilyNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000004; + familyName_ = value; + onChanged(); + return this; + } + + private java.lang.Object address_ = ""; + /** + * + * + *
+     * Full address of the document holder
+     * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return Whether the address field is set. + */ + public boolean hasAddress() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * + * + *
+     * Full address of the document holder
+     * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return The address. + */ + public java.lang.String getAddress() { + java.lang.Object ref = address_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + address_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Full address of the document holder
+     * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return The bytes for address. + */ + public com.google.protobuf.ByteString getAddressBytes() { + java.lang.Object ref = address_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + address_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Full address of the document holder
+     * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @param value The address to set. + * @return This builder for chaining. + */ + public Builder setAddress(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + address_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Full address of the document holder
+     * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return This builder for chaining. + */ + public Builder clearAddress() { + bitField0_ = (bitField0_ & ~0x00000008); + address_ = getDefaultInstance().getAddress(); + onChanged(); + return this; + } + /** + * + * + *
+     * Full address of the document holder
+     * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @param value The bytes for address to set. + * @return This builder for chaining. + */ + public Builder setAddressBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000008; + address_ = value; + onChanged(); + return this; + } + + private java.lang.Object dateOfBirth_ = ""; + /** + * + * + *
+     * Date of birth of the document holder
+     * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return Whether the dateOfBirth field is set. + */ + public boolean hasDateOfBirth() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * + * + *
+     * Date of birth of the document holder
+     * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return The dateOfBirth. + */ + public java.lang.String getDateOfBirth() { + java.lang.Object ref = dateOfBirth_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dateOfBirth_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Date of birth of the document holder
+     * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return The bytes for dateOfBirth. + */ + public com.google.protobuf.ByteString getDateOfBirthBytes() { + java.lang.Object ref = dateOfBirth_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + dateOfBirth_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Date of birth of the document holder
+     * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @param value The dateOfBirth to set. + * @return This builder for chaining. + */ + public Builder setDateOfBirth(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + dateOfBirth_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Date of birth of the document holder
+     * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return This builder for chaining. + */ + public Builder clearDateOfBirth() { + bitField0_ = (bitField0_ & ~0x00000010); + dateOfBirth_ = getDefaultInstance().getDateOfBirth(); + onChanged(); + return this; + } + /** + * + * + *
+     * Date of birth of the document holder
+     * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @param value The bytes for dateOfBirth to set. + * @return This builder for chaining. + */ + public Builder setDateOfBirthBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000010; + dateOfBirth_ = value; + onChanged(); + return this; + } + + private java.lang.Object country_ = ""; + /** + * + * + *
+     * ISO3 country code of the document
+     * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return Whether the country field is set. + */ + public boolean hasCountry() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * + * + *
+     * ISO3 country code of the document
+     * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return The country. + */ + public java.lang.String getCountry() { + java.lang.Object ref = country_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + country_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * ISO3 country code of the document
+     * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return The bytes for country. + */ + public com.google.protobuf.ByteString getCountryBytes() { + java.lang.Object ref = country_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + country_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * ISO3 country code of the document
+     * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @param value The country to set. + * @return This builder for chaining. + */ + public Builder setCountry(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + country_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * ISO3 country code of the document
+     * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return This builder for chaining. + */ + public Builder clearCountry() { + bitField0_ = (bitField0_ & ~0x00000020); + country_ = getDefaultInstance().getCountry(); + onChanged(); + return this; + } + /** + * + * + *
+     * ISO3 country code of the document
+     * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @param value The bytes for country to set. + * @return This builder for chaining. + */ + public Builder setCountryBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000020; + country_ = value; + onChanged(); + return this; + } + + private java.lang.Object issueDate_ = ""; + /** + * + * + *
+     * Issuance date of the document
+     * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return Whether the issueDate field is set. + */ + public boolean hasIssueDate() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * + * + *
+     * Issuance date of the document
+     * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return The issueDate. + */ + public java.lang.String getIssueDate() { + java.lang.Object ref = issueDate_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + issueDate_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Issuance date of the document
+     * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return The bytes for issueDate. + */ + public com.google.protobuf.ByteString getIssueDateBytes() { + java.lang.Object ref = issueDate_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + issueDate_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Issuance date of the document
+     * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @param value The issueDate to set. + * @return This builder for chaining. + */ + public Builder setIssueDate(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000040; + issueDate_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Issuance date of the document
+     * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return This builder for chaining. + */ + public Builder clearIssueDate() { + bitField0_ = (bitField0_ & ~0x00000040); + issueDate_ = getDefaultInstance().getIssueDate(); + onChanged(); + return this; + } + /** + * + * + *
+     * Issuance date of the document
+     * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @param value The bytes for issueDate to set. + * @return This builder for chaining. + */ + public Builder setIssueDateBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000040; + issueDate_ = value; + onChanged(); + return this; + } + + private java.lang.Object expirationDate_ = ""; + /** + * + * + *
+     * Expiration date date of the document
+     * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return Whether the expirationDate field is set. + */ + public boolean hasExpirationDate() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * + * + *
+     * Expiration date date of the document
+     * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return The expirationDate. + */ + public java.lang.String getExpirationDate() { + java.lang.Object ref = expirationDate_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + expirationDate_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Expiration date date of the document
+     * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return The bytes for expirationDate. + */ + public com.google.protobuf.ByteString getExpirationDateBytes() { + java.lang.Object ref = expirationDate_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + expirationDate_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Expiration date date of the document
+     * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @param value The expirationDate to set. + * @return This builder for chaining. + */ + public Builder setExpirationDate(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000080; + expirationDate_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Expiration date date of the document
+     * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return This builder for chaining. + */ + public Builder clearExpirationDate() { + bitField0_ = (bitField0_ & ~0x00000080); + expirationDate_ = getDefaultInstance().getExpirationDate(); + onChanged(); + return this; + } + /** + * + * + *
+     * Expiration date date of the document
+     * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @param value The bytes for expirationDate to set. + * @return This builder for chaining. + */ + public Builder setExpirationDateBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bitField0_ |= 0x00000080; + expirationDate_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:services.connect.v1.NormalizedGovernmentIdData) + } + + // @@protoc_insertion_point(class_scope:services.connect.v1.NormalizedGovernmentIdData) + private static final trinsic.services.connect.v1.NormalizedGovernmentIdData DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new trinsic.services.connect.v1.NormalizedGovernmentIdData(); + } + + public static trinsic.services.connect.v1.NormalizedGovernmentIdData getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public NormalizedGovernmentIdData parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public trinsic.services.connect.v1.NormalizedGovernmentIdData getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java/src/main/java/trinsic/services/connect/v1/NormalizedGovernmentIdDataOrBuilder.java b/java/src/main/java/trinsic/services/connect/v1/NormalizedGovernmentIdDataOrBuilder.java new file mode 100644 index 000000000..cce371a69 --- /dev/null +++ b/java/src/main/java/trinsic/services/connect/v1/NormalizedGovernmentIdDataOrBuilder.java @@ -0,0 +1,306 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: services/connect/v1/connect.proto + +package trinsic.services.connect.v1; + +public interface NormalizedGovernmentIdDataOrBuilder + extends + // @@protoc_insertion_point(interface_extends:services.connect.v1.NormalizedGovernmentIdData) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The ID number of the underlying identity document
+   * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return Whether the idNumber field is set. + */ + boolean hasIdNumber(); + /** + * + * + *
+   * The ID number of the underlying identity document
+   * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return The idNumber. + */ + java.lang.String getIdNumber(); + /** + * + * + *
+   * The ID number of the underlying identity document
+   * 
+ * + * optional string id_number = 1 [json_name = "idNumber"]; + * + * @return The bytes for idNumber. + */ + com.google.protobuf.ByteString getIdNumberBytes(); + + /** + * + * + *
+   * Given ("first") name of the document holder
+   * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return Whether the givenName field is set. + */ + boolean hasGivenName(); + /** + * + * + *
+   * Given ("first") name of the document holder
+   * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return The givenName. + */ + java.lang.String getGivenName(); + /** + * + * + *
+   * Given ("first") name of the document holder
+   * 
+ * + * optional string given_name = 2 [json_name = "givenName"]; + * + * @return The bytes for givenName. + */ + com.google.protobuf.ByteString getGivenNameBytes(); + + /** + * + * + *
+   * Family ("last") name of the document holder
+   * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return Whether the familyName field is set. + */ + boolean hasFamilyName(); + /** + * + * + *
+   * Family ("last") name of the document holder
+   * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return The familyName. + */ + java.lang.String getFamilyName(); + /** + * + * + *
+   * Family ("last") name of the document holder
+   * 
+ * + * optional string family_name = 3 [json_name = "familyName"]; + * + * @return The bytes for familyName. + */ + com.google.protobuf.ByteString getFamilyNameBytes(); + + /** + * + * + *
+   * Full address of the document holder
+   * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return Whether the address field is set. + */ + boolean hasAddress(); + /** + * + * + *
+   * Full address of the document holder
+   * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return The address. + */ + java.lang.String getAddress(); + /** + * + * + *
+   * Full address of the document holder
+   * 
+ * + * optional string address = 4 [json_name = "address"]; + * + * @return The bytes for address. + */ + com.google.protobuf.ByteString getAddressBytes(); + + /** + * + * + *
+   * Date of birth of the document holder
+   * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return Whether the dateOfBirth field is set. + */ + boolean hasDateOfBirth(); + /** + * + * + *
+   * Date of birth of the document holder
+   * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return The dateOfBirth. + */ + java.lang.String getDateOfBirth(); + /** + * + * + *
+   * Date of birth of the document holder
+   * 
+ * + * optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + * + * @return The bytes for dateOfBirth. + */ + com.google.protobuf.ByteString getDateOfBirthBytes(); + + /** + * + * + *
+   * ISO3 country code of the document
+   * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return Whether the country field is set. + */ + boolean hasCountry(); + /** + * + * + *
+   * ISO3 country code of the document
+   * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return The country. + */ + java.lang.String getCountry(); + /** + * + * + *
+   * ISO3 country code of the document
+   * 
+ * + * optional string country = 6 [json_name = "country"]; + * + * @return The bytes for country. + */ + com.google.protobuf.ByteString getCountryBytes(); + + /** + * + * + *
+   * Issuance date of the document
+   * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return Whether the issueDate field is set. + */ + boolean hasIssueDate(); + /** + * + * + *
+   * Issuance date of the document
+   * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return The issueDate. + */ + java.lang.String getIssueDate(); + /** + * + * + *
+   * Issuance date of the document
+   * 
+ * + * optional string issue_date = 7 [json_name = "issueDate"]; + * + * @return The bytes for issueDate. + */ + com.google.protobuf.ByteString getIssueDateBytes(); + + /** + * + * + *
+   * Expiration date date of the document
+   * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return Whether the expirationDate field is set. + */ + boolean hasExpirationDate(); + /** + * + * + *
+   * Expiration date date of the document
+   * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return The expirationDate. + */ + java.lang.String getExpirationDate(); + /** + * + * + *
+   * Expiration date date of the document
+   * 
+ * + * optional string expiration_date = 8 [json_name = "expirationDate"]; + * + * @return The bytes for expirationDate. + */ + com.google.protobuf.ByteString getExpirationDateBytes(); +} diff --git a/java/src/main/java/trinsic/services/connect/v1/Verification.java b/java/src/main/java/trinsic/services/connect/v1/Verification.java index dfececbb3..e82873ef3 100644 --- a/java/src/main/java/trinsic/services/connect/v1/Verification.java +++ b/java/src/main/java/trinsic/services/connect/v1/Verification.java @@ -342,6 +342,66 @@ public trinsic.services.connect.v1.GovernmentIDOptions getGovernmentIdOptions() : governmentIdOptions_; } + public static final int NORMALIZED_GOVERNMENT_ID_DATA_FIELD_NUMBER = 9; + private trinsic.services.connect.v1.NormalizedGovernmentIdData normalizedGovernmentIdData_; + /** + * + * + *
+   * Normalized output for manual parsing and usage for this verification
+   * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+   * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + * + * @return Whether the normalizedGovernmentIdData field is set. + */ + @java.lang.Override + public boolean hasNormalizedGovernmentIdData() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * + * + *
+   * Normalized output for manual parsing and usage for this verification
+   * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+   * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + * + * @return The normalizedGovernmentIdData. + */ + @java.lang.Override + public trinsic.services.connect.v1.NormalizedGovernmentIdData getNormalizedGovernmentIdData() { + return normalizedGovernmentIdData_ == null + ? trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance() + : normalizedGovernmentIdData_; + } + /** + * + * + *
+   * Normalized output for manual parsing and usage for this verification
+   * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+   * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + @java.lang.Override + public trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder + getNormalizedGovernmentIdDataOrBuilder() { + return normalizedGovernmentIdData_ == null + ? trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance() + : normalizedGovernmentIdData_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -380,6 +440,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(8, getGovernmentIdOptions()); } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(9, getNormalizedGovernmentIdData()); + } getUnknownFields().writeTo(output); } @@ -413,6 +476,11 @@ public int getSerializedSize() { if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getGovernmentIdOptions()); } + if (((bitField0_ & 0x00000004) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 9, getNormalizedGovernmentIdData()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -442,6 +510,11 @@ public boolean equals(final java.lang.Object obj) { if (hasGovernmentIdOptions()) { if (!getGovernmentIdOptions().equals(other.getGovernmentIdOptions())) return false; } + if (hasNormalizedGovernmentIdData() != other.hasNormalizedGovernmentIdData()) return false; + if (hasNormalizedGovernmentIdData()) { + if (!getNormalizedGovernmentIdData().equals(other.getNormalizedGovernmentIdData())) + return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -473,6 +546,10 @@ public int hashCode() { hash = (37 * hash) + GOVERNMENT_ID_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getGovernmentIdOptions().hashCode(); } + if (hasNormalizedGovernmentIdData()) { + hash = (37 * hash) + NORMALIZED_GOVERNMENT_ID_DATA_FIELD_NUMBER; + hash = (53 * hash) + getNormalizedGovernmentIdData().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -614,6 +691,7 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { getGovernmentIdOptionsFieldBuilder(); + getNormalizedGovernmentIdDataFieldBuilder(); } } @@ -640,6 +718,12 @@ public Builder clear() { governmentIdOptionsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); + if (normalizedGovernmentIdDataBuilder_ == null) { + normalizedGovernmentIdData_ = null; + } else { + normalizedGovernmentIdDataBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); return this; } @@ -687,6 +771,14 @@ public trinsic.services.connect.v1.Verification buildPartial() { } to_bitField0_ |= 0x00000002; } + if (((from_bitField0_ & 0x00000004) != 0)) { + if (normalizedGovernmentIdDataBuilder_ == null) { + result.normalizedGovernmentIdData_ = normalizedGovernmentIdData_; + } else { + result.normalizedGovernmentIdData_ = normalizedGovernmentIdDataBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -762,6 +854,9 @@ public Builder mergeFrom(trinsic.services.connect.v1.Verification other) { if (other.hasGovernmentIdOptions()) { mergeGovernmentIdOptions(other.getGovernmentIdOptions()); } + if (other.hasNormalizedGovernmentIdData()) { + mergeNormalizedGovernmentIdData(other.getNormalizedGovernmentIdData()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -837,6 +932,13 @@ public Builder mergeFrom( bitField0_ |= 0x00000002; break; } // case 66 + case 74: + { + input.readMessage( + getNormalizedGovernmentIdDataFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 74 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1621,6 +1723,226 @@ public trinsic.services.connect.v1.GovernmentIDOptions.Builder getGovernmentIdOp return governmentIdOptionsBuilder_; } + private trinsic.services.connect.v1.NormalizedGovernmentIdData normalizedGovernmentIdData_; + private com.google.protobuf.SingleFieldBuilderV3< + trinsic.services.connect.v1.NormalizedGovernmentIdData, + trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder, + trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder> + normalizedGovernmentIdDataBuilder_; + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + * + * @return Whether the normalizedGovernmentIdData field is set. + */ + public boolean hasNormalizedGovernmentIdData() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + * + * @return The normalizedGovernmentIdData. + */ + public trinsic.services.connect.v1.NormalizedGovernmentIdData getNormalizedGovernmentIdData() { + if (normalizedGovernmentIdDataBuilder_ == null) { + return normalizedGovernmentIdData_ == null + ? trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance() + : normalizedGovernmentIdData_; + } else { + return normalizedGovernmentIdDataBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + public Builder setNormalizedGovernmentIdData( + trinsic.services.connect.v1.NormalizedGovernmentIdData value) { + if (normalizedGovernmentIdDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + normalizedGovernmentIdData_ = value; + onChanged(); + } else { + normalizedGovernmentIdDataBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + public Builder setNormalizedGovernmentIdData( + trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder builderForValue) { + if (normalizedGovernmentIdDataBuilder_ == null) { + normalizedGovernmentIdData_ = builderForValue.build(); + onChanged(); + } else { + normalizedGovernmentIdDataBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + public Builder mergeNormalizedGovernmentIdData( + trinsic.services.connect.v1.NormalizedGovernmentIdData value) { + if (normalizedGovernmentIdDataBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && normalizedGovernmentIdData_ != null + && normalizedGovernmentIdData_ + != trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance()) { + normalizedGovernmentIdData_ = + trinsic.services.connect.v1.NormalizedGovernmentIdData.newBuilder( + normalizedGovernmentIdData_) + .mergeFrom(value) + .buildPartial(); + } else { + normalizedGovernmentIdData_ = value; + } + onChanged(); + } else { + normalizedGovernmentIdDataBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + public Builder clearNormalizedGovernmentIdData() { + if (normalizedGovernmentIdDataBuilder_ == null) { + normalizedGovernmentIdData_ = null; + onChanged(); + } else { + normalizedGovernmentIdDataBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + public trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder + getNormalizedGovernmentIdDataBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getNormalizedGovernmentIdDataFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + public trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder + getNormalizedGovernmentIdDataOrBuilder() { + if (normalizedGovernmentIdDataBuilder_ != null) { + return normalizedGovernmentIdDataBuilder_.getMessageOrBuilder(); + } else { + return normalizedGovernmentIdData_ == null + ? trinsic.services.connect.v1.NormalizedGovernmentIdData.getDefaultInstance() + : normalizedGovernmentIdData_; + } + } + /** + * + * + *
+     * Normalized output for manual parsing and usage for this verification
+     * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+     * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + trinsic.services.connect.v1.NormalizedGovernmentIdData, + trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder, + trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder> + getNormalizedGovernmentIdDataFieldBuilder() { + if (normalizedGovernmentIdDataBuilder_ == null) { + normalizedGovernmentIdDataBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + trinsic.services.connect.v1.NormalizedGovernmentIdData, + trinsic.services.connect.v1.NormalizedGovernmentIdData.Builder, + trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder>( + getNormalizedGovernmentIdData(), getParentForChildren(), isClean()); + normalizedGovernmentIdData_ = null; + } + return normalizedGovernmentIdDataBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/java/src/main/java/trinsic/services/connect/v1/VerificationOrBuilder.java b/java/src/main/java/trinsic/services/connect/v1/VerificationOrBuilder.java index 4b2592e0d..820fa56e8 100644 --- a/java/src/main/java/trinsic/services/connect/v1/VerificationOrBuilder.java +++ b/java/src/main/java/trinsic/services/connect/v1/VerificationOrBuilder.java @@ -202,4 +202,49 @@ public interface VerificationOrBuilder * optional .services.connect.v1.GovernmentIDOptions government_id_options = 8; */ trinsic.services.connect.v1.GovernmentIDOptionsOrBuilder getGovernmentIdOptionsOrBuilder(); + + /** + * + * + *
+   * Normalized output for manual parsing and usage for this verification
+   * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+   * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + * + * @return Whether the normalizedGovernmentIdData field is set. + */ + boolean hasNormalizedGovernmentIdData(); + /** + * + * + *
+   * Normalized output for manual parsing and usage for this verification
+   * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+   * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + * + * @return The normalizedGovernmentIdData. + */ + trinsic.services.connect.v1.NormalizedGovernmentIdData getNormalizedGovernmentIdData(); + /** + * + * + *
+   * Normalized output for manual parsing and usage for this verification
+   * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded.
+   * 
+ * + * + * optional .services.connect.v1.NormalizedGovernmentIdData normalized_government_id_data = 9; + * + */ + trinsic.services.connect.v1.NormalizedGovernmentIdDataOrBuilder + getNormalizedGovernmentIdDataOrBuilder(); } diff --git a/proto/services/connect/v1/connect.proto b/proto/services/connect/v1/connect.proto index b0406ef70..d533a5e2b 100644 --- a/proto/services/connect/v1/connect.proto +++ b/proto/services/connect/v1/connect.proto @@ -151,10 +151,40 @@ message Verification { // The unix timestamp, in seconds, when this verification last changed state -- or `0` if it has not yet // begun. fixed64 updated = 7; - + // The Government ID options for this Verification. // Only set if this Verification is of type `GOVERNMENT_ID`. optional GovernmentIDOptions government_id_options = 8; + + // Normalized output for manual parsing and usage for this verification + // Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded. + optional NormalizedGovernmentIdData normalized_government_id_data = 9; +} + +message NormalizedGovernmentIdData { + // The ID number of the underlying identity document + optional string id_number = 1 [json_name = "idNumber"]; + + // Given ("first") name of the document holder + optional string given_name = 2 [json_name = "givenName"]; + + // Family ("last") name of the document holder + optional string family_name = 3 [json_name = "familyName"]; + + // Full address of the document holder + optional string address = 4 [json_name = "address"]; + + // Date of birth of the document holder + optional string date_of_birth = 5 [json_name = "dateOfBirth"]; + + // ISO3 country code of the document + optional string country = 6 [json_name = "country"]; + + // Issuance date of the document + optional string issue_date = 7 [json_name = "issueDate"]; + + // Expiration date date of the document + optional string expiration_date = 8 [json_name = "expirationDate"]; } // Request to create an Identity Verification Session @@ -167,7 +197,7 @@ message CreateSessionRequest { message RequestedVerification { // The type of verification to perform VerificationType type = 1; - + oneof options { // Options for a Verification of type `GOVERNMENT_ID` GovernmentIDOptions government_id_options = 2; @@ -185,25 +215,25 @@ message GovernmentIDOptions { message GovernmentIDFields { // ID number of the underlying identity document bool id_number = 1; - + // Given ("first") name of the document holder bool given_name = 2; - + // Family ("last") name of the document holder bool family_name = 3; - + // Full address of the document holder bool address = 4; - + // Date of birth of the document holder bool date_of_birth = 5; - + // ISO3 country code of the document bool country = 6; - + // Issuance date of the document bool issue_date = 7; - + // Expiration date date of the document bool expiration_date = 8; } @@ -253,7 +283,7 @@ message ListSessionsRequest { optional int32 page_size = 3; // The page index of results to return. - // Starts at `1`. + // Starts at `1`. // Defaults to `1`. optional int32 page = 4; } @@ -275,10 +305,10 @@ message ListSessionsResponse { enum SessionOrdering { // Order sessions according to when they were created CREATED = 0; - + // Order sessions according to when they last changed state UPDATED = 1; - + // Order sessions according to their numerical state STATE = 2; } @@ -293,7 +323,7 @@ service Connect { // Get an IDVSession rpc GetSession(GetSessionRequest) returns (GetSessionResponse); - + // List IDVSessions created by the calling wallet rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse); } diff --git a/python/trinsic/proto/services/connect/v1/__init__.py b/python/trinsic/proto/services/connect/v1/__init__.py index 2bde10732..a98ed8981 100644 --- a/python/trinsic/proto/services/connect/v1/__init__.py +++ b/python/trinsic/proto/services/connect/v1/__init__.py @@ -250,6 +250,59 @@ class Verification(betterproto.Message): Verification is of type `GOVERNMENT_ID`. """ + normalized_government_id_data: Optional[ + "NormalizedGovernmentIdData" + ] = betterproto.message_field( + 9, optional=True, group="_normalized_government_id_data" + ) + """ + Normalized output for manual parsing and usage for this verification Only + set if this Verification is of type `GOVERNMENT_ID` and has succeeded. + """ + + +@dataclass(eq=False, repr=False) +class NormalizedGovernmentIdData(betterproto.Message): + id_number: Optional[str] = betterproto.string_field( + 1, optional=True, group="_id_number" + ) + """The ID number of the underlying identity document""" + + given_name: Optional[str] = betterproto.string_field( + 2, optional=True, group="_given_name" + ) + """Given ("first") name of the document holder""" + + family_name: Optional[str] = betterproto.string_field( + 3, optional=True, group="_family_name" + ) + """Family ("last") name of the document holder""" + + address: Optional[str] = betterproto.string_field( + 4, optional=True, group="_address" + ) + """Full address of the document holder""" + + date_of_birth: Optional[str] = betterproto.string_field( + 5, optional=True, group="_date_of_birth" + ) + """Date of birth of the document holder""" + + country: Optional[str] = betterproto.string_field( + 6, optional=True, group="_country" + ) + """ISO3 country code of the document""" + + issue_date: Optional[str] = betterproto.string_field( + 7, optional=True, group="_issue_date" + ) + """Issuance date of the document""" + + expiration_date: Optional[str] = betterproto.string_field( + 8, optional=True, group="_expiration_date" + ) + """Expiration date date of the document""" + @dataclass(eq=False, repr=False) class CreateSessionRequest(betterproto.Message): @@ -376,9 +429,7 @@ class ListSessionsRequest(betterproto.Message): """ page: Optional[int] = betterproto.int32_field(4, optional=True, group="_page") - """ - The page index of results to return. Starts at `1`. Defaults to `1`. - """ + """The page index of results to return. Starts at `1`. Defaults to `1`.""" @dataclass(eq=False, repr=False) diff --git a/web/src/proto/services/connect/v1/connect.ts b/web/src/proto/services/connect/v1/connect.ts index 93b4af737..eed630e3c 100644 --- a/web/src/proto/services/connect/v1/connect.ts +++ b/web/src/proto/services/connect/v1/connect.ts @@ -428,7 +428,47 @@ export interface Verification { * The Government ID options for this Verification. * Only set if this Verification is of type `GOVERNMENT_ID`. */ - governmentIdOptions?: GovernmentIDOptions | undefined; + governmentIdOptions?: + | GovernmentIDOptions + | undefined; + /** + * Normalized output for manual parsing and usage for this verification + * Only set if this Verification is of type `GOVERNMENT_ID` and has succeeded. + */ + normalizedGovernmentIdData?: NormalizedGovernmentIdData | undefined; +} + +export interface NormalizedGovernmentIdData { + /** The ID number of the underlying identity document */ + idNumber?: + | string + | undefined; + /** Given ("first") name of the document holder */ + givenName?: + | string + | undefined; + /** Family ("last") name of the document holder */ + familyName?: + | string + | undefined; + /** Full address of the document holder */ + address?: + | string + | undefined; + /** Date of birth of the document holder */ + dateOfBirth?: + | string + | undefined; + /** ISO3 country code of the document */ + country?: + | string + | undefined; + /** Issuance date of the document */ + issueDate?: + | string + | undefined; + /** Expiration date date of the document */ + expirationDate?: string | undefined; } /** Request to create an Identity Verification Session */ @@ -844,6 +884,7 @@ function createBaseVerification(): Verification { begun: 0, updated: 0, governmentIdOptions: undefined, + normalizedGovernmentIdData: undefined, }; } @@ -873,6 +914,9 @@ export const Verification = { if (message.governmentIdOptions !== undefined) { GovernmentIDOptions.encode(message.governmentIdOptions, writer.uint32(66).fork()).ldelim(); } + if (message.normalizedGovernmentIdData !== undefined) { + NormalizedGovernmentIdData.encode(message.normalizedGovernmentIdData, writer.uint32(74).fork()).ldelim(); + } return writer; }, @@ -939,6 +983,13 @@ export const Verification = { message.governmentIdOptions = GovernmentIDOptions.decode(reader, reader.uint32()); continue; + case 9: + if (tag !== 74) { + break; + } + + message.normalizedGovernmentIdData = NormalizedGovernmentIdData.decode(reader, reader.uint32()); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -960,6 +1011,9 @@ export const Verification = { governmentIdOptions: isSet(object.governmentIdOptions) ? GovernmentIDOptions.fromJSON(object.governmentIdOptions) : undefined, + normalizedGovernmentIdData: isSet(object.normalizedGovernmentIdData) + ? NormalizedGovernmentIdData.fromJSON(object.normalizedGovernmentIdData) + : undefined, }; }, @@ -989,6 +1043,9 @@ export const Verification = { if (message.governmentIdOptions !== undefined) { obj.governmentIdOptions = GovernmentIDOptions.toJSON(message.governmentIdOptions); } + if (message.normalizedGovernmentIdData !== undefined) { + obj.normalizedGovernmentIdData = NormalizedGovernmentIdData.toJSON(message.normalizedGovernmentIdData); + } return obj; }, @@ -1007,6 +1064,183 @@ export const Verification = { message.governmentIdOptions = (object.governmentIdOptions !== undefined && object.governmentIdOptions !== null) ? GovernmentIDOptions.fromPartial(object.governmentIdOptions) : undefined; + message.normalizedGovernmentIdData = + (object.normalizedGovernmentIdData !== undefined && object.normalizedGovernmentIdData !== null) + ? NormalizedGovernmentIdData.fromPartial(object.normalizedGovernmentIdData) + : undefined; + return message; + }, +}; + +function createBaseNormalizedGovernmentIdData(): NormalizedGovernmentIdData { + return { + idNumber: undefined, + givenName: undefined, + familyName: undefined, + address: undefined, + dateOfBirth: undefined, + country: undefined, + issueDate: undefined, + expirationDate: undefined, + }; +} + +export const NormalizedGovernmentIdData = { + encode(message: NormalizedGovernmentIdData, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.idNumber !== undefined) { + writer.uint32(10).string(message.idNumber); + } + if (message.givenName !== undefined) { + writer.uint32(18).string(message.givenName); + } + if (message.familyName !== undefined) { + writer.uint32(26).string(message.familyName); + } + if (message.address !== undefined) { + writer.uint32(34).string(message.address); + } + if (message.dateOfBirth !== undefined) { + writer.uint32(42).string(message.dateOfBirth); + } + if (message.country !== undefined) { + writer.uint32(50).string(message.country); + } + if (message.issueDate !== undefined) { + writer.uint32(58).string(message.issueDate); + } + if (message.expirationDate !== undefined) { + writer.uint32(66).string(message.expirationDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): NormalizedGovernmentIdData { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNormalizedGovernmentIdData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.idNumber = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.givenName = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.familyName = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.address = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.dateOfBirth = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.country = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.issueDate = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.expirationDate = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): NormalizedGovernmentIdData { + return { + idNumber: isSet(object.idNumber) ? String(object.idNumber) : undefined, + givenName: isSet(object.givenName) ? String(object.givenName) : undefined, + familyName: isSet(object.familyName) ? String(object.familyName) : undefined, + address: isSet(object.address) ? String(object.address) : undefined, + dateOfBirth: isSet(object.dateOfBirth) ? String(object.dateOfBirth) : undefined, + country: isSet(object.country) ? String(object.country) : undefined, + issueDate: isSet(object.issueDate) ? String(object.issueDate) : undefined, + expirationDate: isSet(object.expirationDate) ? String(object.expirationDate) : undefined, + }; + }, + + toJSON(message: NormalizedGovernmentIdData): unknown { + const obj: any = {}; + if (message.idNumber !== undefined) { + obj.idNumber = message.idNumber; + } + if (message.givenName !== undefined) { + obj.givenName = message.givenName; + } + if (message.familyName !== undefined) { + obj.familyName = message.familyName; + } + if (message.address !== undefined) { + obj.address = message.address; + } + if (message.dateOfBirth !== undefined) { + obj.dateOfBirth = message.dateOfBirth; + } + if (message.country !== undefined) { + obj.country = message.country; + } + if (message.issueDate !== undefined) { + obj.issueDate = message.issueDate; + } + if (message.expirationDate !== undefined) { + obj.expirationDate = message.expirationDate; + } + return obj; + }, + + create(base?: DeepPartial): NormalizedGovernmentIdData { + return NormalizedGovernmentIdData.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): NormalizedGovernmentIdData { + const message = createBaseNormalizedGovernmentIdData(); + message.idNumber = object.idNumber ?? undefined; + message.givenName = object.givenName ?? undefined; + message.familyName = object.familyName ?? undefined; + message.address = object.address ?? undefined; + message.dateOfBirth = object.dateOfBirth ?? undefined; + message.country = object.country ?? undefined; + message.issueDate = object.issueDate ?? undefined; + message.expirationDate = object.expirationDate ?? undefined; return message; }, };