{"version":3,"sources":["node_modules/@vendasta/iam/fesm2020/vendasta-iam.mjs","node_modules/jwt-decode/build/jwt-decode.esm.js","node_modules/@vendasta/iamv2/fesm2020/vendasta-iamv2.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { map, share } from 'rxjs/operators';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'iam.vendasta-local.com',\n 'test': '',\n 'demo': 'iam-api-demo.apigateway.co',\n 'prod': 'iam-api-prod.apigateway.co',\n 'production': 'iam-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass LoginRequest {\n static fromProto(proto) {\n if (!proto) {\n return new LoginRequest();\n }\n let m = new LoginRequest();\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.namespace === 'undefined' && typeof this.type === 'undefined' && typeof this.email === 'undefined' && typeof this.password === 'undefined' && typeof this.providerIdToken === 'undefined' && typeof this.provider === 'undefined') {\n return {};\n }\n return {\n 'namespace': typeof this.namespace !== 'undefined' ? this.namespace : null,\n 'type': typeof this.type !== 'undefined' ? this.type : null,\n 'email': typeof this.email !== 'undefined' ? this.email : null,\n 'password': typeof this.password !== 'undefined' ? this.password : null,\n 'provider_id_token': typeof this.providerIdToken !== 'undefined' ? this.providerIdToken : null,\n 'provider': typeof this.provider !== 'undefined' ? this.provider : null\n };\n }\n}\nclass LoginResponse {\n static fromProto(proto) {\n /* eslint-disable */\n const m = new LoginResponse();\n m.sessionId = proto['session_id'];\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.sessionId === 'undefined') {\n return {};\n }\n return {\n 'sessionId': typeof this.sessionId !== 'undefined' ? this.sessionId : null\n };\n }\n}\nclass LogoutResponse {\n static fromProto(proto) {\n let m = new LogoutResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.success === 'undefined') {\n return {};\n }\n return {\n 'success': typeof this.success !== 'undefined' ? this.success : null\n };\n }\n}\nclass SSOLoginRequest {\n static fromProto(proto) {\n let m = new SSOLoginRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.nextUrl === 'undefined' && typeof this.namespace === 'undefined' && typeof this.type === 'undefined') {\n return null;\n }\n return {\n 'next_url': typeof this.nextUrl !== 'undefined' ? this.nextUrl : null,\n 'namespace': typeof this.namespace !== 'undefined' ? this.namespace : null,\n 'type': typeof this.type !== 'undefined' ? this.type : null\n };\n }\n}\n\n/* eslint-disable */\nlet IamHttpApiService = /*#__PURE__*/(() => {\n class IamHttpApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions(includeCredentials) {\n if (includeCredentials) {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n withCredentials: true\n };\n }\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n }\n login(r) {\n const toApiJson = r.toApiJson;\n const request = typeof toApiJson !== 'undefined' ? r : new LoginRequest(r);\n return this.http.post(this._host + '/_ajax/v1/login', request.toApiJson(), this.apiOptions()).pipe(map(resp => LoginResponse.fromProto(resp)), share());\n }\n logout() {\n return this.http.post(this._host + '/_ajax/v1/logout', {}, this.apiOptions(true)).pipe(map(resp => LogoutResponse.fromProto(resp)), share());\n }\n ssoLogin(r) {\n const toApiJson = r.toApiJson;\n const request = typeof toApiJson !== 'undefined' ? r : new SSOLoginRequest(r);\n const params = new URLSearchParams();\n const apiJson = request.toApiJson();\n for (const key in apiJson) {\n if (!apiJson.hasOwnProperty(key)) {\n continue;\n }\n const value = apiJson[key];\n if (value === null) {\n continue;\n }\n params.append(key, value);\n }\n window.location.href = `${this._host}/sso-login?${params.toString()}`;\n }\n }\n IamHttpApiService.ɵfac = function IamHttpApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IamHttpApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n IamHttpApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IamHttpApiService,\n factory: IamHttpApiService.ɵfac,\n providedIn: 'root'\n });\n return IamHttpApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar PersonaType = /*#__PURE__*/function (PersonaType) {\n PersonaType[\"partner\"] = \"partner\";\n PersonaType[\"partner_app\"] = \"partner_app\";\n PersonaType[\"sales_person\"] = \"sales_person\";\n PersonaType[\"smb\"] = \"smb\";\n PersonaType[\"vendor\"] = \"vendor\";\n PersonaType[\"digital_agent\"] = \"digital_agent\";\n PersonaType[\"developer\"] = \"developer\";\n PersonaType[\"success\"] = \"success\";\n PersonaType[\"account_group\"] = \"account_group\";\n PersonaType[\"crm_role\"] = \"crm_role\";\n return PersonaType;\n}(PersonaType || {});\nclass BasePersona {\n fromPersona(p) {\n const s = p.subject;\n this.subjectId = s.subjectId;\n this.email = s.email;\n this.created = s.created;\n this.updated = s.updated;\n this.lastLogin = s.lastLogin;\n this.userId = s.userId;\n return this.readAttributes(s.structAttributes);\n }\n readAttributes(attributes) {\n if (!attributes) {\n return this;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n const attrs = getValueFromAttribute({\n structAttribute: {\n attributes: attributes.attributes\n }\n });\n Object.assign(this, attrs);\n return this;\n }\n}\nclass TypedPersona extends BasePersona {}\nclass NamespacedPersona extends BasePersona {\n constructor() {\n super(...arguments);\n this.partnerId = '';\n }\n fromPersona(p) {\n this.partnerId = p.context.namespaced.namespace;\n return super.fromPersona(p);\n }\n}\nfunction getValueFromAttribute(attr) {\n if (typeof attr === 'undefined') {\n return null;\n } else if (typeof attr.stringAttribute !== 'undefined') {\n return attr.stringAttribute;\n } else if (typeof attr.intAttribute !== 'undefined') {\n return attr.intAttribute;\n } else if (typeof attr.doubleAttribute !== 'undefined') {\n return attr.doubleAttribute;\n } else if (typeof attr.boolAttribute !== 'undefined') {\n return attr.boolAttribute;\n } else if (typeof attr.listAttribute !== 'undefined') {\n const vals = [];\n /* eslint-disable @typescript-eslint/no-unsafe-return */\n if (typeof attr.listAttribute.attributes === 'undefined') {\n /* eslint-disable @typescript-eslint/no-unsafe-return */\n return vals;\n }\n for (const val of attr.listAttribute.attributes) {\n vals.push(getValueFromAttribute(val));\n }\n return vals;\n } else if (typeof attr.timestampAttribute !== 'undefined') {\n return attr.timestampAttribute;\n } else if (typeof attr.geopointAttribute !== 'undefined') {\n return attr.geopointAttribute;\n } else if (typeof attr.structAttribute !== 'undefined') {\n const result = {};\n for (const a in attr.structAttribute.attributes) {\n if (!attr.structAttribute.attributes.hasOwnProperty(a)) {\n continue;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n result[CamelCase(a)] = getValueFromAttribute(attr.structAttribute.attributes[a]);\n }\n return result;\n }\n}\nfunction CamelCase(str) {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '_') {\n result += str[i + 1].toUpperCase();\n i++;\n } else {\n result += str[i];\n }\n }\n return result;\n}\nclass DeveloperPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.developer;\n }\n}\nclass PartnerPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.partner;\n this.isSuperAdmin = false;\n this.isAdmin = false;\n this.canCustomizeWhitelabel = false;\n this.canAccessBilling = false;\n this.canAccessAccounts = false;\n this.canAccessMarketing = false;\n this.canAccessSales = false;\n this.canAccessConcierge = false;\n this.canAccessBrands = false;\n this.canAccessDashboard = false;\n this.canAccessOrders = false;\n this.canAccessCompanyProfile = false;\n this.canAccessAutomations = false;\n this.canAccessMarketplace = false;\n this.canEnableApps = false;\n this.canAccessRetailBilling = false;\n }\n}\nclass PartnerAppPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.partner_app;\n }\n}\nconst TitleChoice = {\n PARTNER_FOR_SMB: 'partnerForSmb',\n REP_MAN_FOR_SMB: 'repManForSmb',\n MARKET_FOR_SMB: 'marketForSmb'\n};\nconst AccessLevel = {\n NONE: 'none',\n ALL: 'all',\n OWNED: 'owned'\n};\nclass SalespersonPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.sales_person;\n this.canAccessProposals = true;\n this.canAccessInbox = true;\n this.canAccessLeaderboard = true;\n this.canAccessPricing = true;\n this.ordersAccessScope = AccessLevel.ALL;\n this.opportunitiesAccessScope = AccessLevel.ALL;\n this.titleChoice = TitleChoice.PARTNER_FOR_SMB;\n }\n}\nclass SMBPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.smb;\n this.notificationsEnabled = true;\n }\n}\nclass VendorPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.vendor;\n }\n}\nclass DigitalAgentPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.digital_agent;\n }\n}\nclass SuccessPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.success;\n }\n}\nclass AccountGroupPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.account_group;\n }\n}\nclass CRMRolePersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.crm_role;\n }\n}\nfunction fromPersona(persona) {\n const type = getTypeFromContext(persona.context);\n if (type === null) {\n return null;\n }\n const personaCls = getPersonaFromType(type);\n personaCls.fromPersona(persona);\n return personaCls;\n}\nfunction getTypeFromContext(ctx) {\n const type = !!ctx.namespaced ? ctx.namespaced.type : ctx.typed.type;\n switch (type) {\n case 'partner':\n return PersonaType.partner;\n case 'partner_app':\n return PersonaType.partner_app;\n case 'sales_person':\n return PersonaType.sales_person;\n case 'smb':\n return PersonaType.smb;\n case 'vendor':\n return PersonaType.vendor;\n case 'digital_agent':\n return PersonaType.digital_agent;\n case 'developer':\n return PersonaType.developer;\n case 'success':\n return PersonaType.success;\n case 'account_group':\n return PersonaType.account_group;\n case 'crm_role':\n return PersonaType.crm_role;\n }\n return null;\n}\nfunction getPersonaFromType(personaType) {\n return new {\n 'partner': PartnerPersona,\n 'partner_app': PartnerAppPersona,\n 'sales_person': SalespersonPersona,\n 'smb': SMBPersona,\n 'vendor': VendorPersona,\n 'digital_agent': DigitalAgentPersona,\n 'developer': DeveloperPersona,\n 'success': SuccessPersona,\n 'account_group': AccountGroupPersona,\n 'crm_role': CRMRolePersona\n }[personaType]();\n}\nfunction enumStringToValue$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Attribute {\n static fromProto(proto) {\n let m = new Attribute();\n m = Object.assign(m, proto);\n if (proto.intAttribute) {\n m.intAttribute = parseInt(proto.intAttribute, 10);\n }\n if (proto.structAttribute) {\n m.structAttribute = StructAttribute.fromProto(proto.structAttribute);\n }\n if (proto.listAttribute) {\n m.listAttribute = ListAttribute.fromProto(proto.listAttribute);\n }\n if (proto.timestampAttribute) {\n m.timestampAttribute = new Date(proto.timestampAttribute);\n }\n if (proto.geopointAttribute) {\n m.geopointAttribute = GeoPointAttribute.fromProto(proto.geopointAttribute);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.intAttribute !== 'undefined') {\n toReturn['intAttribute'] = this.intAttribute;\n }\n if (typeof this.doubleAttribute !== 'undefined') {\n toReturn['doubleAttribute'] = this.doubleAttribute;\n }\n if (typeof this.stringAttribute !== 'undefined') {\n toReturn['stringAttribute'] = this.stringAttribute;\n }\n if (typeof this.boolAttribute !== 'undefined') {\n toReturn['boolAttribute'] = this.boolAttribute;\n }\n if (typeof this.structAttribute !== 'undefined' && this.structAttribute !== null) {\n toReturn['structAttribute'] = 'toApiJson' in this.structAttribute ? this.structAttribute.toApiJson() : this.structAttribute;\n }\n if (typeof this.listAttribute !== 'undefined' && this.listAttribute !== null) {\n toReturn['listAttribute'] = 'toApiJson' in this.listAttribute ? this.listAttribute.toApiJson() : this.listAttribute;\n }\n if (typeof this.timestampAttribute !== 'undefined' && this.timestampAttribute !== null) {\n toReturn['timestampAttribute'] = 'toApiJson' in this.timestampAttribute ? this.timestampAttribute.toApiJson() : this.timestampAttribute;\n }\n if (typeof this.geopointAttribute !== 'undefined' && this.geopointAttribute !== null) {\n toReturn['geopointAttribute'] = 'toApiJson' in this.geopointAttribute ? this.geopointAttribute.toApiJson() : this.geopointAttribute;\n }\n return toReturn;\n }\n}\nclass StructAttributeAttributesEntry {\n static fromProto(proto) {\n let m = new StructAttributeAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = Attribute.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass GeoPointAttribute {\n static fromProto(proto) {\n let m = new GeoPointAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.latitude !== 'undefined') {\n toReturn['latitude'] = this.latitude;\n }\n if (typeof this.longitude !== 'undefined') {\n toReturn['longitude'] = this.longitude;\n }\n return toReturn;\n }\n}\nclass ListAttribute {\n static fromProto(proto) {\n let m = new ListAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = proto.attributes.map(Attribute.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass StructAttribute {\n static fromProto(proto) {\n let m = new StructAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = Object.keys(proto.attributes).reduce((obj, k) => {\n obj[k] = Attribute.fromProto(proto.attributes[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar BooleanOperator = /*#__PURE__*/function (BooleanOperator) {\n BooleanOperator[BooleanOperator[\"AND\"] = 0] = \"AND\";\n BooleanOperator[BooleanOperator[\"OR\"] = 1] = \"OR\";\n BooleanOperator[BooleanOperator[\"NOT\"] = 2] = \"NOT\";\n return BooleanOperator;\n}(BooleanOperator || {});\nvar ForOperator = /*#__PURE__*/function (ForOperator) {\n ForOperator[ForOperator[\"ANY\"] = 0] = \"ANY\";\n ForOperator[ForOperator[\"ALL\"] = 1] = \"ALL\";\n return ForOperator;\n}(ForOperator || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AccessScope = /*#__PURE__*/function (AccessScope) {\n AccessScope[AccessScope[\"READ\"] = 0] = \"READ\";\n AccessScope[AccessScope[\"WRITE\"] = 1] = \"WRITE\";\n AccessScope[AccessScope[\"DELETE\"] = 2] = \"DELETE\";\n AccessScope[AccessScope[\"LIST\"] = 3] = \"LIST\";\n return AccessScope;\n}(AccessScope || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AlgorithmType = /*#__PURE__*/function (AlgorithmType) {\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_ES256\"] = 0] = \"ALGORITHM_TYPE_ES256\";\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_RS256\"] = 1] = \"ALGORITHM_TYPE_RS256\";\n return AlgorithmType;\n}(AlgorithmType || {});\nvar OrderByDirection = /*#__PURE__*/function (OrderByDirection) {\n OrderByDirection[OrderByDirection[\"ASCENDING\"] = 0] = \"ASCENDING\";\n OrderByDirection[OrderByDirection[\"DESCENDING\"] = 1] = \"DESCENDING\";\n return OrderByDirection;\n}(OrderByDirection || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar RestrictionType = /*#__PURE__*/function (RestrictionType) {\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_UNSET\"] = 0] = \"RESTRICTION_TYPE_UNSET\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\"] = 1] = \"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_FROZEN\"] = 2] = \"RESTRICTION_TYPE_FROZEN\";\n return RestrictionType;\n}(RestrictionType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_DIRECTION_INVALID\"] = 0] = \"SORT_DIRECTION_INVALID\";\n SortDirection[SortDirection[\"SORT_DIRECTION_ASCENDING\"] = 1] = \"SORT_DIRECTION_ASCENDING\";\n SortDirection[SortDirection[\"SORT_DIRECTION_DESCENDING\"] = 2] = \"SORT_DIRECTION_DESCENDING\";\n return SortDirection;\n}(SortDirection || {});\nvar UserSortField = /*#__PURE__*/function (UserSortField) {\n UserSortField[UserSortField[\"USER_SORT_FIELD_INVALID\"] = 0] = \"USER_SORT_FIELD_INVALID\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_CREATED\"] = 1] = \"USER_SORT_FIELD_CREATED\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_FIRST_NAME\"] = 2] = \"USER_SORT_FIELD_FIRST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_NAME\"] = 3] = \"USER_SORT_FIELD_LAST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_EMAIL\"] = 4] = \"USER_SORT_FIELD_EMAIL\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_LOGIN\"] = 5] = \"USER_SORT_FIELD_LAST_LOGIN\";\n return UserSortField;\n}(UserSortField || {});\n// *********************************\n\n// NOTE: THIS HAS BEEN MANUALLY EDITED. PLEASE SEE THE BELOW COMMENTS TO SEE WHERE IT HAS BEEN EDITED\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass IfClause {\n static fromProto(proto) {\n let m = new IfClause();\n m = Object.assign(m, proto);\n if (proto.resourceAttributeValue) {\n m.resourceAttributeValue = Attribute.fromProto(proto.resourceAttributeValue);\n }\n if (proto.thenPolicy) {\n m.thenPolicy = PolicyNode.fromProto(proto.thenPolicy);\n }\n if (proto.elsePolicy) {\n m.elsePolicy = PolicyNode.fromProto(proto.elsePolicy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n if (typeof this.resourceAttributeValue !== 'undefined' && this.resourceAttributeValue !== null) {\n toReturn['resourceAttributeValue'] = 'toApiJson' in this.resourceAttributeValue ? this.resourceAttributeValue.toApiJson() : this.resourceAttributeValue;\n }\n if (typeof this.thenPolicy !== 'undefined' && this.thenPolicy !== null) {\n toReturn['thenPolicy'] = 'toApiJson' in this.thenPolicy ? this.thenPolicy.toApiJson() : this.thenPolicy;\n }\n if (typeof this.elsePolicy !== 'undefined' && this.elsePolicy !== null) {\n toReturn['elsePolicy'] = 'toApiJson' in this.elsePolicy ? this.elsePolicy.toApiJson() : this.elsePolicy;\n }\n return toReturn;\n }\n}\nclass Operator {\n static fromProto(proto) {\n let m = new Operator();\n m = Object.assign(m, proto);\n // Edited from e.policiesBooleanOperator to e.BooleanOperator\n if (proto.operator) {\n m.operator = enumStringToValue$6(BooleanOperator, proto.operator);\n }\n if (proto.children) {\n m.children = proto.children.map(PolicyNode.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.children !== 'undefined' && this.children !== null) {\n toReturn['children'] = 'toApiJson' in this.children ? this.children.toApiJson() : this.children;\n }\n return toReturn;\n }\n}\nclass PolicyNode {\n static fromProto(proto) {\n let m = new PolicyNode();\n m = Object.assign(m, proto);\n if (proto.subjectResourceIntersection) {\n m.subjectResourceIntersection = SubjectResourceIntersectionClause.fromProto(proto.subjectResourceIntersection);\n }\n if (proto.operator) {\n m.operator = Operator.fromProto(proto.operator);\n }\n if (proto.subjectValueIntersection) {\n m.subjectValueIntersection = SubjectValueIntersectionClause.fromProto(proto.subjectValueIntersection);\n }\n if (proto.subjectMissingValue) {\n m.subjectMissingValue = SubjectMissingValueClause.fromProto(proto.subjectMissingValue);\n }\n if (proto.subjectResourceSubset) {\n m.subjectResourceSubset = SubjectResourceSubsetClause.fromProto(proto.subjectResourceSubset);\n }\n if (proto.subjectResourceFor) {\n m.subjectResourceFor = SubjectResourceForClause.fromProto(proto.subjectResourceFor);\n }\n if (proto.ifClause) {\n m.ifClause = IfClause.fromProto(proto.ifClause);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectResourceIntersection !== 'undefined' && this.subjectResourceIntersection !== null) {\n toReturn['subjectResourceIntersection'] = 'toApiJson' in this.subjectResourceIntersection ? this.subjectResourceIntersection.toApiJson() : this.subjectResourceIntersection;\n }\n if (typeof this.operator !== 'undefined' && this.operator !== null) {\n toReturn['operator'] = 'toApiJson' in this.operator ? this.operator.toApiJson() : this.operator;\n }\n if (typeof this.subjectValueIntersection !== 'undefined' && this.subjectValueIntersection !== null) {\n toReturn['subjectValueIntersection'] = 'toApiJson' in this.subjectValueIntersection ? this.subjectValueIntersection.toApiJson() : this.subjectValueIntersection;\n }\n if (typeof this.subjectMissingValue !== 'undefined' && this.subjectMissingValue !== null) {\n toReturn['subjectMissingValue'] = 'toApiJson' in this.subjectMissingValue ? this.subjectMissingValue.toApiJson() : this.subjectMissingValue;\n }\n if (typeof this.subjectResourceSubset !== 'undefined' && this.subjectResourceSubset !== null) {\n toReturn['subjectResourceSubset'] = 'toApiJson' in this.subjectResourceSubset ? this.subjectResourceSubset.toApiJson() : this.subjectResourceSubset;\n }\n if (typeof this.subjectResourceFor !== 'undefined' && this.subjectResourceFor !== null) {\n toReturn['subjectResourceFor'] = 'toApiJson' in this.subjectResourceFor ? this.subjectResourceFor.toApiJson() : this.subjectResourceFor;\n }\n if (typeof this.ifClause !== 'undefined' && this.ifClause !== null) {\n toReturn['ifClause'] = 'toApiJson' in this.ifClause ? this.ifClause.toApiJson() : this.ifClause;\n }\n return toReturn;\n }\n}\nclass SubjectMissingValueClause {\n static fromProto(proto) {\n let m = new SubjectMissingValueClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceForClause {\n static fromProto(proto) {\n let m = new SubjectResourceForClause();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$6(ForOperator, proto.operator);\n }\n if (proto.rules) {\n m.rules = PolicyNode.fromProto(proto.rules);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.rules !== 'undefined' && this.rules !== null) {\n toReturn['rules'] = 'toApiJson' in this.rules ? this.rules.toApiJson() : this.rules;\n }\n return toReturn;\n }\n}\nclass SubjectResourceIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectResourceIntersectionClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceSubsetClause {\n static fromProto(proto) {\n let m = new SubjectResourceSubsetClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectValueIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectValueIntersectionClause();\n m = Object.assign(m, proto);\n if (proto.structuredAttributeValue) {\n m.structuredAttributeValue = Attribute.fromProto(proto.structuredAttributeValue);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.attributeValue !== 'undefined') {\n toReturn['attributeValue'] = this.attributeValue;\n }\n if (typeof this.structuredAttributeValue !== 'undefined' && this.structuredAttributeValue !== null) {\n toReturn['structuredAttributeValue'] = 'toApiJson' in this.structuredAttributeValue ? this.structuredAttributeValue.toApiJson() : this.structuredAttributeValue;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccessCheckFailures {\n static fromProto(proto) {\n let m = new AccessCheckFailures();\n m = Object.assign(m, proto);\n if (proto.failures) {\n m.failures = proto.failures.map(ResourceIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.failures !== 'undefined' && this.failures !== null) {\n toReturn['failures'] = 'toApiJson' in this.failures ? this.failures.toApiJson() : this.failures;\n }\n return toReturn;\n }\n}\nclass ResourceIdentifierIdentifiersEntry {\n static fromProto(proto) {\n let m = new ResourceIdentifierIdentifiersEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = ValueList.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass Policy {\n static fromProto(proto) {\n let m = new Policy();\n m = Object.assign(m, proto);\n if (proto.operations) {\n m.operations = proto.operations.map(v => enumStringToValue$5(AccessScope, v));\n }\n if (proto.policy) {\n m.policy = PolicyNode.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.policyId !== 'undefined') {\n toReturn['policyId'] = this.policyId;\n }\n if (typeof this.policyName !== 'undefined') {\n toReturn['policyName'] = this.policyName;\n }\n if (typeof this.operations !== 'undefined') {\n toReturn['operations'] = this.operations;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass ResourceIdentifier {\n static fromProto(proto) {\n let m = new ResourceIdentifier();\n m = Object.assign(m, proto);\n if (proto.identifiers) {\n m.identifiers = Object.keys(proto.identifiers).reduce((obj, k) => {\n obj[k] = ValueList.fromProto(proto.identifiers[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {\n toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;\n }\n return toReturn;\n }\n}\nclass ResourceOwner {\n static fromProto(proto) {\n let m = new ResourceOwner();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.appName !== 'undefined') {\n toReturn['appName'] = this.appName;\n }\n return toReturn;\n }\n}\nclass ValueList {\n static fromProto(proto) {\n let m = new ValueList();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.values !== 'undefined') {\n toReturn['values'] = this.values;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Context {\n static fromProto(proto) {\n let m = new Context();\n m = Object.assign(m, proto);\n if (proto.namespaced) {\n m.namespaced = NamespacedContext.fromProto(proto.namespaced);\n }\n if (proto.typed) {\n m.typed = TypedContext.fromProto(proto.typed);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespaced !== 'undefined' && this.namespaced !== null) {\n toReturn['namespaced'] = 'toApiJson' in this.namespaced ? this.namespaced.toApiJson() : this.namespaced;\n }\n if (typeof this.typed !== 'undefined' && this.typed !== null) {\n toReturn['typed'] = 'toApiJson' in this.typed ? this.typed.toApiJson() : this.typed;\n }\n return toReturn;\n }\n}\nclass MultiValueAttribute {\n static fromProto(proto) {\n let m = new MultiValueAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.values !== 'undefined') {\n toReturn['values'] = this.values;\n }\n return toReturn;\n }\n}\nclass Mutation {\n static fromProto(proto) {\n let m = new Mutation();\n m = Object.assign(m, proto);\n if (proto.add) {\n m.add = SingleValueAttribute.fromProto(proto.add);\n }\n if (proto.replace) {\n m.replace = MultiValueAttribute.fromProto(proto.replace);\n }\n if (proto.remove) {\n m.remove = SingleValueAttribute.fromProto(proto.remove);\n }\n if (proto.replaceAttributes) {\n m.replaceAttributes = StructAttribute.fromProto(proto.replaceAttributes);\n }\n if (proto.addAttributes) {\n m.addAttributes = StructAttribute.fromProto(proto.addAttributes);\n }\n if (proto.removeAttributes) {\n m.removeAttributes = StructAttribute.fromProto(proto.removeAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.add !== 'undefined' && this.add !== null) {\n toReturn['add'] = 'toApiJson' in this.add ? this.add.toApiJson() : this.add;\n }\n if (typeof this.replace !== 'undefined' && this.replace !== null) {\n toReturn['replace'] = 'toApiJson' in this.replace ? this.replace.toApiJson() : this.replace;\n }\n if (typeof this.remove !== 'undefined' && this.remove !== null) {\n toReturn['remove'] = 'toApiJson' in this.remove ? this.remove.toApiJson() : this.remove;\n }\n if (typeof this.dropKey !== 'undefined') {\n toReturn['dropKey'] = this.dropKey;\n }\n if (typeof this.replaceAttributes !== 'undefined' && this.replaceAttributes !== null) {\n toReturn['replaceAttributes'] = 'toApiJson' in this.replaceAttributes ? this.replaceAttributes.toApiJson() : this.replaceAttributes;\n }\n if (typeof this.addAttributes !== 'undefined' && this.addAttributes !== null) {\n toReturn['addAttributes'] = 'toApiJson' in this.addAttributes ? this.addAttributes.toApiJson() : this.addAttributes;\n }\n if (typeof this.removeAttributes !== 'undefined' && this.removeAttributes !== null) {\n toReturn['removeAttributes'] = 'toApiJson' in this.removeAttributes ? this.removeAttributes.toApiJson() : this.removeAttributes;\n }\n return toReturn;\n }\n}\nclass NamespacedContext {\n static fromProto(proto) {\n let m = new NamespacedContext();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n return toReturn;\n }\n}\nclass Persona {\n static fromProto(proto) {\n let m = new Persona();\n m = Object.assign(m, proto);\n if (proto.subject) {\n m.subject = Subject.fromProto(proto.subject);\n }\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subject !== 'undefined' && this.subject !== null) {\n toReturn['subject'] = 'toApiJson' in this.subject ? this.subject.toApiJson() : this.subject;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n return toReturn;\n }\n}\nclass PublicKey {\n static fromProto(proto) {\n let m = new PublicKey();\n m = Object.assign(m, proto);\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue$4(AlgorithmType, proto.algorithmType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n return toReturn;\n }\n}\nclass Query {\n static fromProto(proto) {\n let m = new Query();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.attributeKeys !== 'undefined') {\n toReturn['attributeKeys'] = this.attributeKeys;\n }\n return toReturn;\n }\n}\nclass SingleValueAttribute {\n static fromProto(proto) {\n let m = new SingleValueAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass Subject {\n static fromProto(proto) {\n let m = new Subject();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = proto.attributes.map(MultiValueAttribute.fromProto);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n if (proto.publicKeys) {\n m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);\n }\n if (proto.structAttributes) {\n m.structAttributes = StructAttribute.fromProto(proto.structAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {\n toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;\n }\n if (typeof this.structAttributes !== 'undefined' && this.structAttributes !== null) {\n toReturn['structAttributes'] = 'toApiJson' in this.structAttributes ? this.structAttributes.toApiJson() : this.structAttributes;\n }\n return toReturn;\n }\n}\nclass SubjectResult {\n static fromProto(proto) {\n let m = new SubjectResult();\n m = Object.assign(m, proto);\n if (proto.subject) {\n m.subject = Subject.fromProto(proto.subject);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subject !== 'undefined' && this.subject !== null) {\n toReturn['subject'] = 'toApiJson' in this.subject ? this.subject.toApiJson() : this.subject;\n }\n return toReturn;\n }\n}\nclass TypedContext {\n static fromProto(proto) {\n let m = new TypedContext();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass SecurityLog {\n static fromProto(proto) {\n let m = new SecurityLog();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n if (typeof this.logId !== 'undefined') {\n toReturn['logId'] = this.logId;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Identifier {\n static fromProto(proto) {\n let m = new Identifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass NamespacedEmail {\n static fromProto(proto) {\n let m = new NamespacedEmail();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass NamespacedSession {\n static fromProto(proto) {\n let m = new NamespacedSession();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass TypedExternalIdentifier {\n static fromProto(proto) {\n let m = new TypedExternalIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n return toReturn;\n }\n}\nclass User {\n static fromProto(proto) {\n let m = new User();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n if (proto.publicKeys) {\n m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.emailVerified !== 'undefined') {\n toReturn['emailVerified'] = this.emailVerified;\n }\n if (typeof this.roles !== 'undefined') {\n toReturn['roles'] = this.roles;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {\n toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccessResourceRequest {\n static fromProto(proto) {\n let m = new AccessResourceRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.resourceEntityIdentifier) {\n m.resourceEntityIdentifier = Object.keys(proto.resourceEntityIdentifier).reduce((obj, k) => {\n obj[k] = ValueList.fromProto(proto.resourceEntityIdentifier[k]);\n return obj;\n }, {});\n }\n if (proto.accessScope) {\n m.accessScope = proto.accessScope.map(v => enumStringToValue(AccessScope, v));\n }\n if (proto.resourceEntityIdentifiers) {\n m.resourceEntityIdentifiers = proto.resourceEntityIdentifiers.map(ResourceIdentifier.fromProto);\n }\n if (proto.resourceAttributes) {\n m.resourceAttributes = StructAttribute.fromProto(proto.resourceAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n if (typeof this.ownerId !== 'undefined') {\n toReturn['ownerId'] = this.ownerId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceEntityIdentifier !== 'undefined' && this.resourceEntityIdentifier !== null) {\n toReturn['resourceEntityIdentifier'] = 'toApiJson' in this.resourceEntityIdentifier ? this.resourceEntityIdentifier.toApiJson() : this.resourceEntityIdentifier;\n }\n if (typeof this.accessScope !== 'undefined') {\n toReturn['accessScope'] = this.accessScope;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.resourceEntityIdentifiers !== 'undefined' && this.resourceEntityIdentifiers !== null) {\n toReturn['resourceEntityIdentifiers'] = 'toApiJson' in this.resourceEntityIdentifiers ? this.resourceEntityIdentifiers.toApiJson() : this.resourceEntityIdentifiers;\n }\n if (typeof this.resourceAttributes !== 'undefined' && this.resourceAttributes !== null) {\n toReturn['resourceAttributes'] = 'toApiJson' in this.resourceAttributes ? this.resourceAttributes.toApiJson() : this.resourceAttributes;\n }\n return toReturn;\n }\n}\nclass AddKeyRequest {\n static fromProto(proto) {\n let m = new AddKeyRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue(AlgorithmType, proto.algorithmType);\n }\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass AddKeyResponse {\n static fromProto(proto) {\n let m = new AddKeyResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.privateKey !== 'undefined') {\n toReturn['privateKey'] = this.privateKey;\n }\n if (typeof this.keyId !== 'undefined') {\n toReturn['keyId'] = this.keyId;\n }\n return toReturn;\n }\n}\nclass AddMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new AddMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass AuthenticateSubjectRequest {\n static fromProto(proto) {\n let m = new AuthenticateSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass ChangeSubjectEmailRequest {\n static fromProto(proto) {\n let m = new ChangeSubjectEmailRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.newEmail !== 'undefined') {\n toReturn['newEmail'] = this.newEmail;\n }\n return toReturn;\n }\n}\nclass CreateExternalIDRequest {\n static fromProto(proto) {\n let m = new CreateExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n return toReturn;\n }\n}\nclass CreateSessionRequest {\n static fromProto(proto) {\n let m = new CreateSessionRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.oauthCredentials) {\n m.oauthCredentials = OAuthCredentials.fromProto(proto.oauthCredentials);\n }\n if (proto.subjectCredentials) {\n m.subjectCredentials = SubjectCredentials.fromProto(proto.subjectCredentials);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.oauthCredentials !== 'undefined' && this.oauthCredentials !== null) {\n toReturn['oauthCredentials'] = 'toApiJson' in this.oauthCredentials ? this.oauthCredentials.toApiJson() : this.oauthCredentials;\n }\n if (typeof this.subjectCredentials !== 'undefined' && this.subjectCredentials !== null) {\n toReturn['subjectCredentials'] = 'toApiJson' in this.subjectCredentials ? this.subjectCredentials.toApiJson() : this.subjectCredentials;\n }\n return toReturn;\n }\n}\nclass CreateSessionResponse {\n static fromProto(proto) {\n let m = new CreateSessionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass CreateTemporarySubjectRequest {\n static fromProto(proto) {\n let m = new CreateTemporarySubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.attributes) {\n m.attributes = StructAttribute.fromProto(proto.attributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass CreateTemporarySubjectResponse {\n static fromProto(proto) {\n let m = new CreateTemporarySubjectResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass DeleteSubjectRequest {\n static fromProto(proto) {\n let m = new DeleteSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass DeleteUserRequest {\n static fromProto(proto) {\n let m = new DeleteUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequestFilters {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n return toReturn;\n }\n}\nclass GetImpersonationTokenRequest {\n static fromProto(proto) {\n let m = new GetImpersonationTokenRequest();\n m = Object.assign(m, proto);\n if (proto.impersonatee) {\n m.impersonatee = UserIdentifier.fromProto(proto.impersonatee);\n }\n if (proto.impersonator) {\n m.impersonator = UserIdentifier.fromProto(proto.impersonator);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.impersonatee !== 'undefined' && this.impersonatee !== null) {\n toReturn['impersonatee'] = 'toApiJson' in this.impersonatee ? this.impersonatee.toApiJson() : this.impersonatee;\n }\n if (typeof this.impersonator !== 'undefined' && this.impersonator !== null) {\n toReturn['impersonator'] = 'toApiJson' in this.impersonator ? this.impersonator.toApiJson() : this.impersonator;\n }\n return toReturn;\n }\n}\nclass GetImpersonationTokenResponse {\n static fromProto(proto) {\n let m = new GetImpersonationTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDRequest {\n static fromProto(proto) {\n let m = new GetMultiExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDResponse {\n static fromProto(proto) {\n let m = new GetMultiExternalIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIds !== 'undefined') {\n toReturn['externalIds'] = this.externalIds;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersRequest {\n static fromProto(proto) {\n let m = new GetMultiUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersResponse {\n static fromProto(proto) {\n let m = new GetMultiUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(GetMultiUsersResponseUserContainer.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n return toReturn;\n }\n}\nclass GetResetPasswordTokenRequest {\n static fromProto(proto) {\n let m = new GetResetPasswordTokenRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass GetSessionTokenRequest {\n static fromProto(proto) {\n let m = new GetSessionTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass GetShortLivedTokenRequest {\n static fromProto(proto) {\n let m = new GetShortLivedTokenRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass GetSubjectBySessionRequest {\n static fromProto(proto) {\n let m = new GetSubjectBySessionRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n return toReturn;\n }\n}\nclass GetSubjectContextRequest {\n static fromProto(proto) {\n let m = new GetSubjectContextRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass GetSubjectContextResponse {\n static fromProto(proto) {\n let m = new GetSubjectContextResponse();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n return toReturn;\n }\n}\nclass GetSubjectResponse {\n static fromProto(proto) {\n let m = new GetSubjectResponse();\n m = Object.assign(m, proto);\n if (proto.subject) {\n m.subject = SubjectResult.fromProto(proto.subject);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subject !== 'undefined' && this.subject !== null) {\n toReturn['subject'] = 'toApiJson' in this.subject ? this.subject.toApiJson() : this.subject;\n }\n return toReturn;\n }\n}\nclass GetSubjectsByEmailRequest {\n static fromProto(proto) {\n let m = new GetSubjectsByEmailRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.emails !== 'undefined') {\n toReturn['emails'] = this.emails;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass GetSubjectsRequest {\n static fromProto(proto) {\n let m = new GetSubjectsRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.identifiers) {\n m.identifiers = proto.identifiers.map(Identifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectIds !== 'undefined') {\n toReturn['subjectIds'] = this.subjectIds;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {\n toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;\n }\n return toReturn;\n }\n}\nclass GetSubjectsResponse {\n static fromProto(proto) {\n let m = new GetSubjectsResponse();\n m = Object.assign(m, proto);\n if (proto.subjects) {\n m.subjects = proto.subjects.map(SubjectResult.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjects !== 'undefined' && this.subjects !== null) {\n toReturn['subjects'] = 'toApiJson' in this.subjects ? this.subjects.toApiJson() : this.subjects;\n }\n return toReturn;\n }\n}\nclass GetTokenRequest {\n static fromProto(proto) {\n let m = new GetTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass GetTokenResponse {\n static fromProto(proto) {\n let m = new GetTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass IAMListPersonasRequest {\n static fromProto(proto) {\n let m = new IAMListPersonasRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.alwaysIncludeSuperadmin !== 'undefined') {\n toReturn['alwaysIncludeSuperadmin'] = this.alwaysIncludeSuperadmin;\n }\n return toReturn;\n }\n}\nclass ListPersonasByEmailRequest {\n static fromProto(proto) {\n let m = new ListPersonasByEmailRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n return toReturn;\n }\n}\nclass ListPersonasRequest {\n static fromProto(proto) {\n let m = new ListPersonasRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n return toReturn;\n }\n}\nclass ListPersonasResponse {\n static fromProto(proto) {\n let m = new ListPersonasResponse();\n m = Object.assign(m, proto);\n if (proto.personas) {\n m.personas = proto.personas.map(Persona.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.personas !== 'undefined' && this.personas !== null) {\n toReturn['personas'] = 'toApiJson' in this.personas ? this.personas.toApiJson() : this.personas;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequest {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {\n m.filters = ListSecurityLogsRequestFilters.fromProto(proto.filters);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsResponse {\n static fromProto(proto) {\n let m = new ListSecurityLogsResponse();\n m = Object.assign(m, proto);\n if (proto.logs) {\n m.logs = proto.logs.map(SecurityLog.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.logs !== 'undefined' && this.logs !== null) {\n toReturn['logs'] = 'toApiJson' in this.logs ? this.logs.toApiJson() : this.logs;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListUsersRequest {\n static fromProto(proto) {\n let m = new ListUsersRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.userFilter) {\n m.userFilter = UserFilter.fromProto(proto.userFilter);\n }\n if (proto.sortOptions) {\n m.sortOptions = proto.sortOptions.map(UserSortOptions.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.userFilter !== 'undefined' && this.userFilter !== null) {\n toReturn['userFilter'] = 'toApiJson' in this.userFilter ? this.userFilter.toApiJson() : this.userFilter;\n }\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {\n toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? this.sortOptions.toApiJson() : this.sortOptions;\n }\n return toReturn;\n }\n}\nclass ListUsersResponse {\n static fromProto(proto) {\n let m = new ListUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass MutateAttributesRequest {\n static fromProto(proto) {\n let m = new MutateAttributesRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.mutations) {\n m.mutations = proto.mutations.map(Mutation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {\n toReturn['mutations'] = 'toApiJson' in this.mutations ? this.mutations.toApiJson() : this.mutations;\n }\n return toReturn;\n }\n}\nclass OAuthCredentials {\n static fromProto(proto) {\n let m = new OAuthCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.provider !== 'undefined') {\n toReturn['provider'] = this.provider;\n }\n if (typeof this.idToken !== 'undefined') {\n toReturn['idToken'] = this.idToken;\n }\n if (typeof this.accessToken !== 'undefined') {\n toReturn['accessToken'] = this.accessToken;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequestOperation {\n static fromProto(proto) {\n let m = new UpdateUserRequestOperation();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n return toReturn;\n }\n}\nclass RegisterPolicyRequest {\n static fromProto(proto) {\n let m = new RegisterPolicyRequest();\n m = Object.assign(m, proto);\n if (proto.policy) {\n m.policy = Policy.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass RegisterResourceOwnerRequest {\n static fromProto(proto) {\n let m = new RegisterResourceOwnerRequest();\n m = Object.assign(m, proto);\n if (proto.owner) {\n m.owner = ResourceOwner.fromProto(proto.owner);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.owner !== 'undefined' && this.owner !== null) {\n toReturn['owner'] = 'toApiJson' in this.owner ? this.owner.toApiJson() : this.owner;\n }\n return toReturn;\n }\n}\nclass RegisterResourceRequest {\n static fromProto(proto) {\n let m = new RegisterResourceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceName !== 'undefined') {\n toReturn['resourceName'] = this.resourceName;\n }\n if (typeof this.resourceOwnerServiceUrl !== 'undefined') {\n toReturn['resourceOwnerServiceUrl'] = this.resourceOwnerServiceUrl;\n }\n if (typeof this.requiredResourceParams !== 'undefined') {\n toReturn['requiredResourceParams'] = this.requiredResourceParams;\n }\n if (typeof this.resourceOwnerAudience !== 'undefined') {\n toReturn['resourceOwnerAudience'] = this.resourceOwnerAudience;\n }\n return toReturn;\n }\n}\nclass RegisterSubjectRequest {\n static fromProto(proto) {\n let m = new RegisterSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.attributes) {\n m.attributes = proto.attributes.map(MultiValueAttribute.fromProto);\n }\n if (proto.structAttributes) {\n m.structAttributes = StructAttribute.fromProto(proto.structAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n if (typeof this.structAttributes !== 'undefined' && this.structAttributes !== null) {\n toReturn['structAttributes'] = 'toApiJson' in this.structAttributes ? this.structAttributes.toApiJson() : this.structAttributes;\n }\n return toReturn;\n }\n}\nclass RegisterSubjectResponse {\n static fromProto(proto) {\n let m = new RegisterSubjectResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass RemoveKeyRequest {\n static fromProto(proto) {\n let m = new RemoveKeyRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.keyId !== 'undefined') {\n toReturn['keyId'] = this.keyId;\n }\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass RemoveMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new RemoveMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass ResetPasswordTokenResponse {\n static fromProto(proto) {\n let m = new ResetPasswordTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass ResetPasswordWithTokenRequest {\n static fromProto(proto) {\n let m = new ResetPasswordWithTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass ResetSubjectPasswordRequest {\n static fromProto(proto) {\n let m = new ResetSubjectPasswordRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.newPassword !== 'undefined') {\n toReturn['newPassword'] = this.newPassword;\n }\n return toReturn;\n }\n}\nclass AccessResourceRequestResourceEntityIdentifierEntry {\n static fromProto(proto) {\n let m = new AccessResourceRequestResourceEntityIdentifierEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = ValueList.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass SearchSubjectRequest {\n static fromProto(proto) {\n let m = new SearchSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.query) {\n m.query = Query.fromProto(proto.query);\n }\n if (proto.filters) {\n m.filters = proto.filters.map(SingleValueAttribute.fromProto);\n }\n if (proto.orderByDirection) {\n m.orderByDirection = enumStringToValue(OrderByDirection, proto.orderByDirection);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.query !== 'undefined' && this.query !== null) {\n toReturn['query'] = 'toApiJson' in this.query ? this.query.toApiJson() : this.query;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.orderBy !== 'undefined') {\n toReturn['orderBy'] = this.orderBy;\n }\n if (typeof this.orderByDirection !== 'undefined') {\n toReturn['orderByDirection'] = this.orderByDirection;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass SearchSubjectResponse {\n static fromProto(proto) {\n let m = new SearchSubjectResponse();\n m = Object.assign(m, proto);\n if (proto.result) {\n m.result = proto.result.map(SubjectResult.fromProto);\n }\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.result !== 'undefined' && this.result !== null) {\n toReturn['result'] = 'toApiJson' in this.result ? this.result.toApiJson() : this.result;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass SendEmailVerificationRequest {\n static fromProto(proto) {\n let m = new SendEmailVerificationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass SubjectCredentials {\n static fromProto(proto) {\n let m = new SubjectCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequest {\n static fromProto(proto) {\n let m = new UpdateUserRequest();\n m = Object.assign(m, proto);\n if (proto.operations) {\n m.operations = proto.operations.map(UpdateUserRequestOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.operations !== 'undefined' && this.operations !== null) {\n toReturn['operations'] = 'toApiJson' in this.operations ? this.operations.toApiJson() : this.operations;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersResponseUserContainer {\n static fromProto(proto) {\n let m = new GetMultiUsersResponseUserContainer();\n m = Object.assign(m, proto);\n if (proto.user) {\n m.user = User.fromProto(proto.user);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.user !== 'undefined' && this.user !== null) {\n toReturn['user'] = 'toApiJson' in this.user ? this.user.toApiJson() : this.user;\n }\n return toReturn;\n }\n}\nclass UserFilter {\n static fromProto(proto) {\n let m = new UserFilter();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectTypes !== 'undefined') {\n toReturn['subjectTypes'] = this.subjectTypes;\n }\n if (typeof this.searchTerms !== 'undefined') {\n toReturn['searchTerms'] = this.searchTerms;\n }\n return toReturn;\n }\n}\nclass UserIdentifier {\n static fromProto(proto) {\n let m = new UserIdentifier();\n m = Object.assign(m, proto);\n if (proto.namespacedEmail) {\n m.namespacedEmail = NamespacedEmail.fromProto(proto.namespacedEmail);\n }\n if (proto.namespacedSession) {\n m.namespacedSession = NamespacedSession.fromProto(proto.namespacedSession);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.namespacedEmail !== 'undefined' && this.namespacedEmail !== null) {\n toReturn['namespacedEmail'] = 'toApiJson' in this.namespacedEmail ? this.namespacedEmail.toApiJson() : this.namespacedEmail;\n }\n if (typeof this.namespacedSession !== 'undefined' && this.namespacedSession !== null) {\n toReturn['namespacedSession'] = 'toApiJson' in this.namespacedSession ? this.namespacedSession.toApiJson() : this.namespacedSession;\n }\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass UserSortOptions {\n static fromProto(proto) {\n let m = new UserSortOptions();\n m = Object.assign(m, proto);\n if (proto.direction) {\n m.direction = enumStringToValue(SortDirection, proto.direction);\n }\n if (proto.field) {\n m.field = enumStringToValue(UserSortField, proto.field);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n return toReturn;\n }\n}\nclass VerifyEmailRequest {\n static fromProto(proto) {\n let m = new VerifyEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\n// *********************************\nlet IAMApiService = /*#__PURE__*/(() => {\n class IAMApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n registerSubject(r) {\n const request = r.toApiJson ? r : new RegisterSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterSubject\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RegisterSubjectResponse.fromProto(resp)));\n }\n authenticateSubject(r) {\n const request = r.toApiJson ? r : new AuthenticateSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AuthenticateSubject\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getSubjects(r) {\n const request = r.toApiJson ? r : new GetSubjectsRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSubjects\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectsResponse.fromProto(resp)));\n }\n getSubjectsByEmail(r) {\n const request = r.toApiJson ? r : new GetSubjectsByEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSubjectsByEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectsResponse.fromProto(resp)));\n }\n mutateAttributes(r) {\n const request = r.toApiJson ? r : new MutateAttributesRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/MutateAttributes\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n resetSubjectPassword(r) {\n const request = r.toApiJson ? r : new ResetSubjectPasswordRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ResetSubjectPassword\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n changeSubjectEmail(r) {\n const request = r.toApiJson ? r : new ChangeSubjectEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ChangeSubjectEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deleteSubject(r) {\n const request = r.toApiJson ? r : new DeleteSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/DeleteSubject\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n searchSubject(r) {\n const request = r.toApiJson ? r : new SearchSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/SearchSubject\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchSubjectResponse.fromProto(resp)));\n }\n getSubjectContext(r) {\n const request = r.toApiJson ? r : new GetSubjectContextRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSubjectContext\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectContextResponse.fromProto(resp)));\n }\n registerResourceOwner(r) {\n const request = r.toApiJson ? r : new RegisterResourceOwnerRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterResourceOwner\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerResource(r) {\n const request = r.toApiJson ? r : new RegisterResourceRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerPolicy(r) {\n const request = r.toApiJson ? r : new RegisterPolicyRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterPolicy\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n accessResource(r) {\n const request = r.toApiJson ? r : new AccessResourceRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AccessResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getShortLivedToken(r) {\n const request = r.toApiJson ? r : new GetShortLivedTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetShortLivedToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n getSessionToken(r) {\n const request = r.toApiJson ? r : new GetSessionTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSessionToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n addKey(r) {\n const request = r.toApiJson ? r : new AddKeyRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AddKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddKeyResponse.fromProto(resp)));\n }\n removeKey(r) {\n const request = r.toApiJson ? r : new RemoveKeyRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RemoveKey\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createSession(r) {\n const request = r.toApiJson ? r : new CreateSessionRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/CreateSession\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateSessionResponse.fromProto(resp)));\n }\n getResetPasswordToken(r) {\n const request = r.toApiJson ? r : new GetResetPasswordTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetResetPasswordToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ResetPasswordTokenResponse.fromProto(resp)));\n }\n listPersonasByEmail(r) {\n const request = r.toApiJson ? r : new ListPersonasByEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListPersonasByEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPersonasResponse.fromProto(resp)));\n }\n listPersonas(r) {\n const request = r.toApiJson ? r : new IAMListPersonasRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListPersonas\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPersonasResponse.fromProto(resp)));\n }\n createTemporarySubject(r) {\n const request = r.toApiJson ? r : new CreateTemporarySubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/CreateTemporarySubject\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateTemporarySubjectResponse.fromProto(resp)));\n }\n getMultiUsers(r) {\n const request = r.toApiJson ? r : new GetMultiUsersRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetMultiUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiUsersResponse.fromProto(resp)));\n }\n listUsers(r) {\n const request = r.toApiJson ? r : new ListUsersRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListUsersResponse.fromProto(resp)));\n }\n updateUser(r) {\n const request = r.toApiJson ? r : new UpdateUserRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/UpdateUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deleteUser(r) {\n const request = r.toApiJson ? r : new DeleteUserRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/DeleteUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listSecurityLogs(r) {\n const request = r.toApiJson ? r : new ListSecurityLogsRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListSecurityLogs\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListSecurityLogsResponse.fromProto(resp)));\n }\n verifyEmail(r) {\n const request = r.toApiJson ? r : new VerifyEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/VerifyEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n sendEmailVerification(r) {\n const request = r.toApiJson ? r : new SendEmailVerificationRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/SendEmailVerification\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMultiExternalId(r) {\n const request = r.toApiJson ? r : new GetMultiExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetMultiExternalID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiExternalIDResponse.fromProto(resp)));\n }\n createExternalId(r) {\n const request = r.toApiJson ? r : new CreateExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/CreateExternalID\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new AddMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AddMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new RemoveMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RemoveMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n IAMApiService.ɵfac = function IAMApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n IAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMApiService,\n factory: IAMApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet UserIAMApiService = /*#__PURE__*/(() => {\n class UserIAMApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getSubjectBySession(r) {\n const request = r.toApiJson ? r : new GetSubjectBySessionRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetSubjectBySession\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectResponse.fromProto(resp)));\n }\n listPersonas(r) {\n const request = r.toApiJson ? r : new ListPersonasRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/ListPersonas\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPersonasResponse.fromProto(resp)));\n }\n getToken(r) {\n const request = r.toApiJson ? r : new GetTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n getSessionToken(r) {\n const request = r.toApiJson ? r : new GetSessionTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetSessionToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n resetPasswordWithToken(r) {\n const request = r.toApiJson ? r : new ResetPasswordWithTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/ResetPasswordWithToken\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getImpersonationToken(r) {\n const request = r.toApiJson ? r : new GetImpersonationTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetImpersonationToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetImpersonationTokenResponse.fromProto(resp)));\n }\n }\n UserIAMApiService.ɵfac = function UserIAMApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || UserIAMApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n UserIAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: UserIAMApiService,\n factory: UserIAMApiService.ɵfac,\n providedIn: 'root'\n });\n return UserIAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet IAMService = /*#__PURE__*/(() => {\n class IAMService {\n constructor(api, httpApi, iamApi) {\n this.api = api;\n this.httpApi = httpApi;\n this.iamApi = iamApi;\n }\n // Get a subject from the session ID\n getSubjectBySession(sessionId, personaType, partnerId) {\n let context;\n if (!!partnerId) {\n context = new Context({\n namespaced: new NamespacedContext({\n namespace: partnerId,\n type: PersonaType[personaType]\n })\n });\n } else {\n context = new Context({\n typed: new TypedContext({\n type: PersonaType[personaType]\n })\n });\n }\n return this.api.getSubjectBySession({\n session: sessionId,\n context: context\n }).pipe(map(r => fromPersona(new Persona({\n subject: r.subject.subject,\n context: context\n }))));\n }\n // List all available personas for the session. Optionally pass a persona type to filter by that persona.\n listPersonas(sessionId, personaType) {\n return this.api.listPersonas({\n session: sessionId,\n pageSize: 100,\n type: personaType\n }).pipe(map(r => {\n const personas = [];\n if (!r || !r.personas) {\n return [];\n }\n for (const p of r.personas) {\n const persona = fromPersona(p);\n if (!!persona) {\n personas.push(persona);\n }\n }\n return personas;\n }));\n }\n // Get a short lived session token\n getToken() {\n return this.api.getToken({}).pipe(map(r => r.token));\n }\n // Login into a user. Optionally specify the partner and persona type you want to log into\n login(email, password, personaType, partnerId) {\n return this.httpApi.login({\n email: email,\n password: password,\n namespace: partnerId,\n type: personaType\n }).pipe(map(r => r.sessionId || ''));\n }\n // Logout of the current session, returns true if successful\n logout() {\n return this.httpApi.logout().pipe(map(r => r.success));\n }\n // This will redirect the browser to IAM's sso login handler.\n ssoLogin(nextUrl, personaType, partnerId) {\n this.httpApi.ssoLogin({\n nextUrl: nextUrl,\n namespace: partnerId,\n type: personaType\n });\n }\n // getMultiUsers takes an array of user identifiers and calls IAM to convert them into Users\n getMultiUsers(userIdentifiers) {\n return this.iamApi.getMultiUsers({\n userIdentifiers\n }).pipe(map(resp => {\n if (!!resp.users) {\n return resp.users;\n }\n return [];\n }), map(userContainers => userContainers.map(u => u.user)));\n }\n // listSecurityLogs returns security logs for a userId passed in. This is a paged function, but the\n // handling of paged information is left to the implementor (for now).\n listSecurityLogs(userId, cursor, pageSize, actionId = '') {\n const optionalArgs = {};\n if (actionId !== '') {\n optionalArgs.filters = new ListSecurityLogsRequestFilters({\n actionId\n });\n }\n return this.iamApi.listSecurityLogs({\n userId,\n cursor,\n pageSize,\n ...optionalArgs\n });\n }\n // listUsers returns users for a namespace passed in. This is a paged function, but the\n // handling of paged information is left to the implementor (for now).\n // An empty namespace will return users that exist outside of a namespace.\n listUsers(namespace, email, cursor, pageSize, subjectTypes, searchTerms, sortOptions) {\n const userFilter = {};\n if (!!subjectTypes && subjectTypes.length > 0) {\n userFilter.subjectTypes = subjectTypes;\n }\n if (!!searchTerms && searchTerms.length > 0) {\n userFilter.searchTerms = searchTerms;\n }\n return this.iamApi.listUsers({\n namespace: namespace,\n email: email,\n cursor: cursor,\n pageSize: pageSize,\n userFilter: userFilter,\n sortOptions: sortOptions || []\n });\n }\n }\n IAMService.ɵfac = function IAMService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMService)(i0.ɵɵinject(UserIAMApiService), i0.ɵɵinject(IamHttpApiService), i0.ɵɵinject(IAMApiService));\n };\n IAMService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMService,\n factory: IAMService.ɵfac,\n providedIn: 'root'\n });\n return IAMService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Access, AccessCheckFailures, AccessResourceRequest, AccessResourceRequestResourceEntityIdentifierEntry, AccessScope, AddKeyRequest, AddKeyResponse, AddMultiUserRestrictionRequest, AlgorithmType, Attribute, AuthenticateSubjectRequest, BasePersona, BooleanOperator, CRMRolePersona, ChangeSubjectEmailRequest, Context, CreateExternalIDRequest, CreateSessionRequest, CreateSessionResponse, CreateTemporarySubjectRequest, CreateTemporarySubjectResponse, DeleteSubjectRequest, DeleteUserRequest, DeveloperPersona, DigitalAgentPersona, FieldMask, ForOperator, GeoPointAttribute, GetImpersonationTokenRequest, GetImpersonationTokenResponse, GetMultiExternalIDRequest, GetMultiExternalIDResponse, GetMultiUsersRequest, GetMultiUsersResponse, GetMultiUsersResponseUserContainer, GetResetPasswordTokenRequest, GetSessionTokenRequest, GetShortLivedTokenRequest, GetSubjectBySessionRequest, GetSubjectContextRequest, GetSubjectContextResponse, GetSubjectResponse, GetSubjectsByEmailRequest, GetSubjectsRequest, GetSubjectsResponse, GetTokenRequest, GetTokenResponse, HostService, IAMApiService, IAMListPersonasRequest, IAMService, Identifier, IfClause, ListAttribute, ListPersonasByEmailRequest, ListPersonasRequest, ListPersonasResponse, ListSecurityLogsRequest, ListSecurityLogsRequestFilters, ListSecurityLogsResponse, ListUsersRequest, ListUsersResponse, MultiValueAttribute, MutateAttributesRequest, Mutation, NamespacedContext, NamespacedEmail, NamespacedPersona, NamespacedSession, OAuthCredentials, Operator, OrderByDirection, PartnerAppPersona, PartnerPersona, Persona, PersonaType, Policy, PolicyNode, PublicKey, Query, RegisterPolicyRequest, RegisterResourceOwnerRequest, RegisterResourceRequest, RegisterSubjectRequest, RegisterSubjectResponse, RemoveKeyRequest, RemoveMultiUserRestrictionRequest, ResetPasswordTokenResponse, ResetPasswordWithTokenRequest, ResetSubjectPasswordRequest, ResourceIdentifier, ResourceIdentifierIdentifiersEntry, ResourceOwner, RestrictionType, SMBPersona, SalespersonPersona, SearchSubjectRequest, SearchSubjectResponse, SecurityLog, SendEmailVerificationRequest, SingleValueAttribute, SortDirection, StructAttribute, StructAttributeAttributesEntry, Subject, SubjectCredentials, SubjectMissingValueClause, SubjectResourceForClause, SubjectResourceIntersectionClause, SubjectResourceSubsetClause, SubjectResult, SubjectValueIntersectionClause, TypedContext, TypedExternalIdentifier, TypedPersona, UpdateUserRequest, UpdateUserRequestOperation, User, UserFilter, UserIAMApiService, UserIdentifier, UserSortField, UserSortOptions, ValueList, VendorPersona, VerifyEmailRequest, fromPersona };\n","function e(e) {\n this.message = e;\n}\ne.prototype = new Error(), e.prototype.name = \"InvalidCharacterError\";\nvar r = \"undefined\" != typeof window && window.atob && window.atob.bind(window) || function (r) {\n var t = String(r).replace(/=+$/, \"\");\n if (t.length % 4 == 1) throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n for (var n, o, a = 0, i = 0, c = \"\"; o = t.charAt(i++); ~o && (n = a % 4 ? 64 * n + o : o, a++ % 4) ? c += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) o = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);\n return c;\n};\nfunction t(e) {\n var t = e.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (t.length % 4) {\n case 0:\n break;\n case 2:\n t += \"==\";\n break;\n case 3:\n t += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n try {\n return function (e) {\n return decodeURIComponent(r(e).replace(/(.)/g, function (e, r) {\n var t = r.charCodeAt(0).toString(16).toUpperCase();\n return t.length < 2 && (t = \"0\" + t), \"%\" + t;\n }));\n }(t);\n } catch (e) {\n return r(t);\n }\n}\nfunction n(e) {\n this.message = e;\n}\nfunction o(e, r) {\n if (\"string\" != typeof e) throw new n(\"Invalid token specified\");\n var o = !0 === (r = r || {}).header ? 0 : 1;\n try {\n return JSON.parse(t(e.split(\".\")[o]));\n } catch (e) {\n throw new n(\"Invalid token specified: \" + e.message);\n }\n}\nn.prototype = new Error(), n.prototype.name = \"InvalidTokenError\";\nexport default o;\nexport { n as InvalidTokenError };\n","import * as i0 from '@angular/core';\nimport { Injectable, inject } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport jwt_decode from 'jwt-decode';\nlet Address$1 = class Address {\n constructor({\n address,\n city,\n postalCode,\n country,\n state,\n additionalAddress\n }) {\n this.address = address || '';\n this.city = city || '';\n this.postalCode = postalCode || '';\n this.country = country || '';\n this.state = state || '';\n this.additionalAddress = additionalAddress || '';\n }\n};\nlet LinkedIn$1 = class LinkedIn {\n constructor({\n publicProfileId\n }) {\n this.publicProfileId = publicProfileId || '';\n }\n};\nlet User$1 = class User {\n constructor({\n userId,\n partnerId,\n email,\n roles,\n created,\n updated,\n firstName,\n greetingName,\n lastName,\n languageCode,\n publicKeys,\n lastLogin,\n emailVerified,\n phoneNumbers,\n address,\n profileImageUrl,\n timeZone,\n linkedIn,\n meetingBookingUrl\n }) {\n this.userId = userId || '';\n this.partnerId = partnerId || '';\n this.email = email || '';\n this.roles = roles || {};\n this.created = created || null;\n this.updated = updated || null;\n this.firstName = firstName || '';\n this.greetingName = greetingName || '';\n this.lastName = lastName || '';\n this.languageCode = languageCode || '';\n this.publicKeys = publicKeys || [];\n this.lastLogin = lastLogin || null;\n this.emailVerified = emailVerified || false;\n this.phoneNumbers = phoneNumbers || [];\n this.address = address || new Address$1({});\n this.profileImageUrl = profileImageUrl || '';\n this.timeZone = timeZone || '';\n this.linkedIn = linkedIn || new LinkedIn$1({});\n this.meetingBookingUrl = meetingBookingUrl || '';\n }\n};\nclass Role {\n constructor({\n roleId,\n attributes,\n created,\n updated\n }) {\n this.roleId = roleId || '';\n this.attributes = attributes || null;\n this.created = created || null;\n this.updated = updated || null;\n }\n}\nvar AlgorithmType$1 = /*#__PURE__*/function (AlgorithmType) {\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_ES256\"] = 0] = \"ALGORITHM_TYPE_ES256\";\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_RS256\"] = 1] = \"ALGORITHM_TYPE_RS256\";\n return AlgorithmType;\n}(AlgorithmType$1 || {});\nlet PublicKey$1 = class PublicKey {\n constructor({\n key,\n id,\n algorithmType\n }) {\n this.key = key || '';\n this.id = id || '';\n this.algorithmType = algorithmType || AlgorithmType$1.ALGORITHM_TYPE_ES256;\n }\n};\nvar PhoneNumberType$1 = /*#__PURE__*/function (PhoneNumberType) {\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_INVALID\"] = 0] = \"PHONE_NUMBER_TYPE_INVALID\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_WORK\"] = 1] = \"PHONE_NUMBER_TYPE_WORK\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_HOME\"] = 2] = \"PHONE_NUMBER_TYPE_HOME\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_MOBILE\"] = 3] = \"PHONE_NUMBER_TYPE_MOBILE\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_FAX\"] = 4] = \"PHONE_NUMBER_TYPE_FAX\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_PAGER\"] = 5] = \"PHONE_NUMBER_TYPE_PAGER\";\n return PhoneNumberType;\n}(PhoneNumberType$1 || {});\nlet PhoneNumber$1 = class PhoneNumber {\n constructor({\n phoneNumber,\n phoneNumberType\n }) {\n this.phoneNumber = phoneNumber || '';\n this.phoneNumberType = phoneNumberType || PhoneNumberType$1.PHONE_NUMBER_TYPE_INVALID;\n }\n};\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedResponseMetadata {\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Attribute {\n static fromProto(proto) {\n let m = new Attribute();\n m = Object.assign(m, proto);\n if (proto.intAttribute) {\n m.intAttribute = parseInt(proto.intAttribute, 10);\n }\n if (proto.structAttribute) {\n m.structAttribute = StructAttribute.fromProto(proto.structAttribute);\n }\n if (proto.listAttribute) {\n m.listAttribute = ListAttribute.fromProto(proto.listAttribute);\n }\n if (proto.timestampAttribute) {\n m.timestampAttribute = new Date(proto.timestampAttribute);\n }\n if (proto.geopointAttribute) {\n m.geopointAttribute = GeoPointAttribute.fromProto(proto.geopointAttribute);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.intAttribute !== 'undefined') {\n toReturn['intAttribute'] = this.intAttribute;\n }\n if (typeof this.doubleAttribute !== 'undefined') {\n toReturn['doubleAttribute'] = this.doubleAttribute;\n }\n if (typeof this.stringAttribute !== 'undefined') {\n toReturn['stringAttribute'] = this.stringAttribute;\n }\n if (typeof this.boolAttribute !== 'undefined') {\n toReturn['boolAttribute'] = this.boolAttribute;\n }\n if (typeof this.structAttribute !== 'undefined' && this.structAttribute !== null) {\n toReturn['structAttribute'] = 'toApiJson' in this.structAttribute ? this.structAttribute.toApiJson() : this.structAttribute;\n }\n if (typeof this.listAttribute !== 'undefined' && this.listAttribute !== null) {\n toReturn['listAttribute'] = 'toApiJson' in this.listAttribute ? this.listAttribute.toApiJson() : this.listAttribute;\n }\n if (typeof this.timestampAttribute !== 'undefined' && this.timestampAttribute !== null) {\n toReturn['timestampAttribute'] = 'toApiJson' in this.timestampAttribute ? this.timestampAttribute.toApiJson() : this.timestampAttribute;\n }\n if (typeof this.geopointAttribute !== 'undefined' && this.geopointAttribute !== null) {\n toReturn['geopointAttribute'] = 'toApiJson' in this.geopointAttribute ? this.geopointAttribute.toApiJson() : this.geopointAttribute;\n }\n return toReturn;\n }\n}\nclass StructAttributeAttributesEntry {\n static fromProto(proto) {\n let m = new StructAttributeAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = Attribute.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass GeoPointAttribute {\n static fromProto(proto) {\n let m = new GeoPointAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.latitude !== 'undefined') {\n toReturn['latitude'] = this.latitude;\n }\n if (typeof this.longitude !== 'undefined') {\n toReturn['longitude'] = this.longitude;\n }\n return toReturn;\n }\n}\nclass ListAttribute {\n static fromProto(proto) {\n let m = new ListAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = proto.attributes.map(Attribute.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass StructAttribute {\n static fromProto(proto) {\n let m = new StructAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = Object.keys(proto.attributes).reduce((obj, k) => {\n obj[k] = Attribute.fromProto(proto.attributes[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar BooleanOperator = /*#__PURE__*/function (BooleanOperator) {\n BooleanOperator[BooleanOperator[\"AND\"] = 0] = \"AND\";\n BooleanOperator[BooleanOperator[\"OR\"] = 1] = \"OR\";\n BooleanOperator[BooleanOperator[\"NOT\"] = 2] = \"NOT\";\n return BooleanOperator;\n}(BooleanOperator || {});\nvar ForOperator = /*#__PURE__*/function (ForOperator) {\n ForOperator[ForOperator[\"ANY\"] = 0] = \"ANY\";\n ForOperator[ForOperator[\"ALL\"] = 1] = \"ALL\";\n return ForOperator;\n}(ForOperator || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AuxiliaryDataFieldType = /*#__PURE__*/function (AuxiliaryDataFieldType) {\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_INVALID\"] = 0] = \"AUXILIARY_DATA_FIELD_TYPE_INVALID\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_STRING\"] = 1] = \"AUXILIARY_DATA_FIELD_TYPE_STRING\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_INTEGER\"] = 2] = \"AUXILIARY_DATA_FIELD_TYPE_INTEGER\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_DATE\"] = 3] = \"AUXILIARY_DATA_FIELD_TYPE_DATE\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_DROPDOWN\"] = 4] = \"AUXILIARY_DATA_FIELD_TYPE_DROPDOWN\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_CURRENCY\"] = 5] = \"AUXILIARY_DATA_FIELD_TYPE_CURRENCY\";\n return AuxiliaryDataFieldType;\n}(AuxiliaryDataFieldType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AlgorithmType = /*#__PURE__*/function (AlgorithmType) {\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_ES256\"] = 0] = \"ALGORITHM_TYPE_ES256\";\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_RS256\"] = 1] = \"ALGORITHM_TYPE_RS256\";\n return AlgorithmType;\n}(AlgorithmType || {});\nvar EmailBranding = /*#__PURE__*/function (EmailBranding) {\n EmailBranding[EmailBranding[\"EMAIL_BRANDING_INVALID\"] = 0] = \"EMAIL_BRANDING_INVALID\";\n EmailBranding[EmailBranding[\"EMAIL_BRANDING_PARTNER\"] = 1] = \"EMAIL_BRANDING_PARTNER\";\n EmailBranding[EmailBranding[\"EMAIL_BRANDING_PARENT_PARTNER\"] = 2] = \"EMAIL_BRANDING_PARENT_PARTNER\";\n return EmailBranding;\n}(EmailBranding || {});\nvar PhoneNumberType = /*#__PURE__*/function (PhoneNumberType) {\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_INVALID\"] = 0] = \"PHONE_NUMBER_TYPE_INVALID\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_WORK\"] = 1] = \"PHONE_NUMBER_TYPE_WORK\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_HOME\"] = 2] = \"PHONE_NUMBER_TYPE_HOME\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_MOBILE\"] = 3] = \"PHONE_NUMBER_TYPE_MOBILE\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_FAX\"] = 4] = \"PHONE_NUMBER_TYPE_FAX\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_PAGER\"] = 5] = \"PHONE_NUMBER_TYPE_PAGER\";\n return PhoneNumberType;\n}(PhoneNumberType || {});\nvar RestrictionType = /*#__PURE__*/function (RestrictionType) {\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_UNSET\"] = 0] = \"RESTRICTION_TYPE_UNSET\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\"] = 1] = \"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_FROZEN\"] = 2] = \"RESTRICTION_TYPE_FROZEN\";\n return RestrictionType;\n}(RestrictionType || {});\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_DIRECTION_INVALID\"] = 0] = \"SORT_DIRECTION_INVALID\";\n SortDirection[SortDirection[\"SORT_DIRECTION_ASCENDING\"] = 1] = \"SORT_DIRECTION_ASCENDING\";\n SortDirection[SortDirection[\"SORT_DIRECTION_DESCENDING\"] = 2] = \"SORT_DIRECTION_DESCENDING\";\n return SortDirection;\n}(SortDirection || {});\nvar UserSortField = /*#__PURE__*/function (UserSortField) {\n UserSortField[UserSortField[\"USER_SORT_FIELD_INVALID\"] = 0] = \"USER_SORT_FIELD_INVALID\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_CREATED\"] = 1] = \"USER_SORT_FIELD_CREATED\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_FIRST_NAME\"] = 2] = \"USER_SORT_FIELD_FIRST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_NAME\"] = 3] = \"USER_SORT_FIELD_LAST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_EMAIL\"] = 4] = \"USER_SORT_FIELD_EMAIL\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_LOGIN\"] = 5] = \"USER_SORT_FIELD_LAST_LOGIN\";\n return UserSortField;\n}(UserSortField || {});\n// *********************************\n\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass IfClause {\n static fromProto(proto) {\n let m = new IfClause();\n m = Object.assign(m, proto);\n if (proto.resourceAttributeValue) {\n m.resourceAttributeValue = Attribute.fromProto(proto.resourceAttributeValue);\n }\n if (proto.thenPolicy) {\n m.thenPolicy = PolicyNode.fromProto(proto.thenPolicy);\n }\n if (proto.elsePolicy) {\n m.elsePolicy = PolicyNode.fromProto(proto.elsePolicy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n if (typeof this.resourceAttributeValue !== 'undefined' && this.resourceAttributeValue !== null) {\n toReturn['resourceAttributeValue'] = 'toApiJson' in this.resourceAttributeValue ? this.resourceAttributeValue.toApiJson() : this.resourceAttributeValue;\n }\n if (typeof this.thenPolicy !== 'undefined' && this.thenPolicy !== null) {\n toReturn['thenPolicy'] = 'toApiJson' in this.thenPolicy ? this.thenPolicy.toApiJson() : this.thenPolicy;\n }\n if (typeof this.elsePolicy !== 'undefined' && this.elsePolicy !== null) {\n toReturn['elsePolicy'] = 'toApiJson' in this.elsePolicy ? this.elsePolicy.toApiJson() : this.elsePolicy;\n }\n return toReturn;\n }\n}\nclass Operator {\n static fromProto(proto) {\n let m = new Operator();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$4(BooleanOperator, proto.operator);\n }\n if (proto.children) {\n m.children = proto.children.map(PolicyNode.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.children !== 'undefined' && this.children !== null) {\n toReturn['children'] = 'toApiJson' in this.children ? this.children.toApiJson() : this.children;\n }\n return toReturn;\n }\n}\nclass PolicyNode {\n static fromProto(proto) {\n let m = new PolicyNode();\n m = Object.assign(m, proto);\n if (proto.subjectResourceIntersection) {\n m.subjectResourceIntersection = SubjectResourceIntersectionClause.fromProto(proto.subjectResourceIntersection);\n }\n if (proto.operator) {\n m.operator = Operator.fromProto(proto.operator);\n }\n if (proto.subjectValueIntersection) {\n m.subjectValueIntersection = SubjectValueIntersectionClause.fromProto(proto.subjectValueIntersection);\n }\n if (proto.subjectMissingValue) {\n m.subjectMissingValue = SubjectMissingValueClause.fromProto(proto.subjectMissingValue);\n }\n if (proto.subjectResourceSubset) {\n m.subjectResourceSubset = SubjectResourceSubsetClause.fromProto(proto.subjectResourceSubset);\n }\n if (proto.subjectResourceFor) {\n m.subjectResourceFor = SubjectResourceForClause.fromProto(proto.subjectResourceFor);\n }\n if (proto.ifClause) {\n m.ifClause = IfClause.fromProto(proto.ifClause);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectResourceIntersection !== 'undefined' && this.subjectResourceIntersection !== null) {\n toReturn['subjectResourceIntersection'] = 'toApiJson' in this.subjectResourceIntersection ? this.subjectResourceIntersection.toApiJson() : this.subjectResourceIntersection;\n }\n if (typeof this.operator !== 'undefined' && this.operator !== null) {\n toReturn['operator'] = 'toApiJson' in this.operator ? this.operator.toApiJson() : this.operator;\n }\n if (typeof this.subjectValueIntersection !== 'undefined' && this.subjectValueIntersection !== null) {\n toReturn['subjectValueIntersection'] = 'toApiJson' in this.subjectValueIntersection ? this.subjectValueIntersection.toApiJson() : this.subjectValueIntersection;\n }\n if (typeof this.subjectMissingValue !== 'undefined' && this.subjectMissingValue !== null) {\n toReturn['subjectMissingValue'] = 'toApiJson' in this.subjectMissingValue ? this.subjectMissingValue.toApiJson() : this.subjectMissingValue;\n }\n if (typeof this.subjectResourceSubset !== 'undefined' && this.subjectResourceSubset !== null) {\n toReturn['subjectResourceSubset'] = 'toApiJson' in this.subjectResourceSubset ? this.subjectResourceSubset.toApiJson() : this.subjectResourceSubset;\n }\n if (typeof this.subjectResourceFor !== 'undefined' && this.subjectResourceFor !== null) {\n toReturn['subjectResourceFor'] = 'toApiJson' in this.subjectResourceFor ? this.subjectResourceFor.toApiJson() : this.subjectResourceFor;\n }\n if (typeof this.ifClause !== 'undefined' && this.ifClause !== null) {\n toReturn['ifClause'] = 'toApiJson' in this.ifClause ? this.ifClause.toApiJson() : this.ifClause;\n }\n return toReturn;\n }\n}\nclass SubjectMissingValueClause {\n static fromProto(proto) {\n let m = new SubjectMissingValueClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceForClause {\n static fromProto(proto) {\n let m = new SubjectResourceForClause();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$4(ForOperator, proto.operator);\n }\n if (proto.rules) {\n m.rules = PolicyNode.fromProto(proto.rules);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.rules !== 'undefined' && this.rules !== null) {\n toReturn['rules'] = 'toApiJson' in this.rules ? this.rules.toApiJson() : this.rules;\n }\n return toReturn;\n }\n}\nclass SubjectResourceIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectResourceIntersectionClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceSubsetClause {\n static fromProto(proto) {\n let m = new SubjectResourceSubsetClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectValueIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectValueIntersectionClause();\n m = Object.assign(m, proto);\n if (proto.structuredAttributeValue) {\n m.structuredAttributeValue = Attribute.fromProto(proto.structuredAttributeValue);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.attributeValue !== 'undefined') {\n toReturn['attributeValue'] = this.attributeValue;\n }\n if (typeof this.structuredAttributeValue !== 'undefined' && this.structuredAttributeValue !== null) {\n toReturn['structuredAttributeValue'] = 'toApiJson' in this.structuredAttributeValue ? this.structuredAttributeValue.toApiJson() : this.structuredAttributeValue;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccessCheckFailures {\n static fromProto(proto) {\n let m = new AccessCheckFailures();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.failedKeys !== 'undefined') {\n toReturn['failedKeys'] = this.failedKeys;\n }\n return toReturn;\n }\n}\nclass AccessResourceRequest {\n static fromProto(proto) {\n let m = new AccessResourceRequest();\n m = Object.assign(m, proto);\n if (proto.userAndImpersonateeId) {\n m.userAndImpersonateeId = UserAndImpersonateeId.fromProto(proto.userAndImpersonateeId);\n }\n if (proto.resourceAttributes) {\n m.resourceAttributes = Object.keys(proto.resourceAttributes).reduce((obj, k) => {\n obj[k] = StructAttribute.fromProto(proto.resourceAttributes[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.userAndImpersonateeId !== 'undefined' && this.userAndImpersonateeId !== null) {\n toReturn['userAndImpersonateeId'] = 'toApiJson' in this.userAndImpersonateeId ? this.userAndImpersonateeId.toApiJson() : this.userAndImpersonateeId;\n }\n if (typeof this.ownerId !== 'undefined') {\n toReturn['ownerId'] = this.ownerId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.resourceAttributes !== 'undefined' && this.resourceAttributes !== null) {\n toReturn['resourceAttributes'] = 'toApiJson' in this.resourceAttributes ? this.resourceAttributes.toApiJson() : this.resourceAttributes;\n }\n return toReturn;\n }\n}\nclass AccessResourceResponse {\n static fromProto(proto) {\n let m = new AccessResourceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.explanation !== 'undefined') {\n toReturn['explanation'] = this.explanation;\n }\n if (typeof this.success !== 'undefined') {\n toReturn['success'] = this.success;\n }\n if (typeof this.aiExplanation !== 'undefined') {\n toReturn['aiExplanation'] = this.aiExplanation;\n }\n return toReturn;\n }\n}\nclass AddClientKeyRequest {\n static fromProto(proto) {\n let m = new AddClientKeyRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue$3(AlgorithmType, proto.algorithmType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n return toReturn;\n }\n}\nclass AddClientKeyResponse {\n static fromProto(proto) {\n let m = new AddClientKeyResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.privateKey !== 'undefined') {\n toReturn['privateKey'] = this.privateKey;\n }\n if (typeof this.clientKeyId !== 'undefined') {\n toReturn['clientKeyId'] = this.clientKeyId;\n }\n return toReturn;\n }\n}\nclass AddMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new AddMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue$3(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass AddUserRoleRequest {\n static fromProto(proto) {\n let m = new AddUserRoleRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.attributes) {\n m.attributes = StructAttribute.fromProto(proto.attributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass Address {\n static fromProto(proto) {\n let m = new Address();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.address !== 'undefined') {\n toReturn['address'] = this.address;\n }\n if (typeof this.city !== 'undefined') {\n toReturn['city'] = this.city;\n }\n if (typeof this.postalCode !== 'undefined') {\n toReturn['postalCode'] = this.postalCode;\n }\n if (typeof this.country !== 'undefined') {\n toReturn['country'] = this.country;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.additionalAddress !== 'undefined') {\n toReturn['additionalAddress'] = this.additionalAddress;\n }\n return toReturn;\n }\n}\nclass CallbackResourceData {\n static fromProto(proto) {\n let m = new CallbackResourceData();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.requiredResourceParameters !== 'undefined') {\n toReturn['requiredResourceParameters'] = this.requiredResourceParameters;\n }\n if (typeof this.resourceOwnerServiceUrl !== 'undefined') {\n toReturn['resourceOwnerServiceUrl'] = this.resourceOwnerServiceUrl;\n }\n if (typeof this.resourceOwnerAudience !== 'undefined') {\n toReturn['resourceOwnerAudience'] = this.resourceOwnerAudience;\n }\n return toReturn;\n }\n}\nclass ChangePasswordRequest {\n static fromProto(proto) {\n let m = new ChangePasswordRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.currentPassword !== 'undefined') {\n toReturn['currentPassword'] = this.currentPassword;\n }\n if (typeof this.newPassword !== 'undefined') {\n toReturn['newPassword'] = this.newPassword;\n }\n return toReturn;\n }\n}\nclass CreateExternalIDRequest {\n static fromProto(proto) {\n let m = new CreateExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n return toReturn;\n }\n}\nclass CreateSessionFailure {\n static fromProto(proto) {\n let m = new CreateSessionFailure();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.errorCode !== 'undefined') {\n toReturn['errorCode'] = this.errorCode;\n }\n return toReturn;\n }\n}\nclass CreateSessionRequest {\n static fromProto(proto) {\n let m = new CreateSessionRequest();\n m = Object.assign(m, proto);\n if (proto.oauthCredentials) {\n m.oauthCredentials = OAuthCredentials.fromProto(proto.oauthCredentials);\n }\n if (proto.passwordCredentials) {\n m.passwordCredentials = PasswordCredentials.fromProto(proto.passwordCredentials);\n }\n if (proto.oneTimePasswordCredentials) {\n m.oneTimePasswordCredentials = OneTimePasswordCredentials.fromProto(proto.oneTimePasswordCredentials);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.oauthCredentials !== 'undefined' && this.oauthCredentials !== null) {\n toReturn['oauthCredentials'] = 'toApiJson' in this.oauthCredentials ? this.oauthCredentials.toApiJson() : this.oauthCredentials;\n }\n if (typeof this.passwordCredentials !== 'undefined' && this.passwordCredentials !== null) {\n toReturn['passwordCredentials'] = 'toApiJson' in this.passwordCredentials ? this.passwordCredentials.toApiJson() : this.passwordCredentials;\n }\n if (typeof this.oneTimePasswordCredentials !== 'undefined' && this.oneTimePasswordCredentials !== null) {\n toReturn['oneTimePasswordCredentials'] = 'toApiJson' in this.oneTimePasswordCredentials ? this.oneTimePasswordCredentials.toApiJson() : this.oneTimePasswordCredentials;\n }\n if (typeof this.subjectTypes !== 'undefined') {\n toReturn['subjectTypes'] = this.subjectTypes;\n }\n return toReturn;\n }\n}\nclass CreateSessionResponse {\n static fromProto(proto) {\n let m = new CreateSessionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass CreateUserRequest {\n static fromProto(proto) {\n let m = new CreateUserRequest();\n m = Object.assign(m, proto);\n if (proto.user) {\n m.user = User.fromProto(proto.user);\n }\n if (proto.typedExternalIdentifiers) {\n m.typedExternalIdentifiers = proto.typedExternalIdentifiers.map(TypedExternalIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.user !== 'undefined' && this.user !== null) {\n toReturn['user'] = 'toApiJson' in this.user ? this.user.toApiJson() : this.user;\n }\n if (typeof this.typedExternalIdentifiers !== 'undefined' && this.typedExternalIdentifiers !== null) {\n toReturn['typedExternalIdentifiers'] = 'toApiJson' in this.typedExternalIdentifiers ? this.typedExternalIdentifiers.toApiJson() : this.typedExternalIdentifiers;\n }\n return toReturn;\n }\n}\nclass CreateUserResponse {\n static fromProto(proto) {\n let m = new CreateUserResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass DeletePolicyRequest {\n static fromProto(proto) {\n let m = new DeletePolicyRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.policyId !== 'undefined') {\n toReturn['policyId'] = this.policyId;\n }\n return toReturn;\n }\n}\nclass DeleteUserRequest {\n static fromProto(proto) {\n let m = new DeleteUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass ExchangeClientKeyAssertionRequest {\n static fromProto(proto) {\n let m = new ExchangeClientKeyAssertionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.assertion !== 'undefined') {\n toReturn['assertion'] = this.assertion;\n }\n return toReturn;\n }\n}\nclass ExchangeClientKeyAssertionResponse {\n static fromProto(proto) {\n let m = new ExchangeClientKeyAssertionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequestFilters {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n return toReturn;\n }\n}\nclass ListResourcesRequestFilters {\n static fromProto(proto) {\n let m = new ListResourcesRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleTypes !== 'undefined') {\n toReturn['roleTypes'] = this.roleTypes;\n }\n if (typeof this.resourceIds !== 'undefined') {\n toReturn['resourceIds'] = this.resourceIds;\n }\n if (typeof this.resourceAttributes !== 'undefined') {\n toReturn['resourceAttributes'] = this.resourceAttributes;\n }\n if (typeof this.subjectAttributes !== 'undefined') {\n toReturn['subjectAttributes'] = this.subjectAttributes;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDRequest {\n static fromProto(proto) {\n let m = new GetMultiExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDResponse {\n static fromProto(proto) {\n let m = new GetMultiExternalIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIds !== 'undefined') {\n toReturn['externalIds'] = this.externalIds;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersRequest {\n static fromProto(proto) {\n let m = new GetMultiUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.propertyMask) {\n m.propertyMask = UserPropertyMask.fromProto(proto.propertyMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.propertyMask !== 'undefined' && this.propertyMask !== null) {\n toReturn['propertyMask'] = 'toApiJson' in this.propertyMask ? this.propertyMask.toApiJson() : this.propertyMask;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersResponse {\n static fromProto(proto) {\n let m = new GetMultiUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n return toReturn;\n }\n}\nclass GetResetPasswordTokenRequest {\n static fromProto(proto) {\n let m = new GetResetPasswordTokenRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass GetResetPasswordTokenResponse {\n static fromProto(proto) {\n let m = new GetResetPasswordTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resetPasswordToken !== 'undefined') {\n toReturn['resetPasswordToken'] = this.resetPasswordToken;\n }\n return toReturn;\n }\n}\nclass GetTokenForUserRequest {\n static fromProto(proto) {\n let m = new GetTokenForUserRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.refreshToken !== 'undefined') {\n toReturn['refreshToken'] = this.refreshToken;\n }\n if (typeof this.clientAssertion !== 'undefined') {\n toReturn['clientAssertion'] = this.clientAssertion;\n }\n if (typeof this.federatedIdentityProvider !== 'undefined') {\n toReturn['federatedIdentityProvider'] = this.federatedIdentityProvider;\n }\n if (typeof this.scopes !== 'undefined') {\n toReturn['scopes'] = this.scopes;\n }\n if (typeof this.clientId !== 'undefined') {\n toReturn['clientId'] = this.clientId;\n }\n if (typeof this.nonce !== 'undefined') {\n toReturn['nonce'] = this.nonce;\n }\n if (typeof this.impersonateeUserId !== 'undefined') {\n toReturn['impersonateeUserId'] = this.impersonateeUserId;\n }\n if (typeof this.serviceProviderId !== 'undefined') {\n toReturn['serviceProviderId'] = this.serviceProviderId;\n }\n if (typeof this.legacyUserId !== 'undefined') {\n toReturn['legacyUserId'] = this.legacyUserId;\n }\n return toReturn;\n }\n}\nclass GetTokenForUserResponse {\n static fromProto(proto) {\n let m = new GetTokenForUserResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identityToken !== 'undefined') {\n toReturn['identityToken'] = this.identityToken;\n }\n if (typeof this.accessToken !== 'undefined') {\n toReturn['accessToken'] = this.accessToken;\n }\n if (typeof this.refreshToken !== 'undefined') {\n toReturn['refreshToken'] = this.refreshToken;\n }\n if (typeof this.oidcIdentityToken !== 'undefined') {\n toReturn['oidcIdentityToken'] = this.oidcIdentityToken;\n }\n return toReturn;\n }\n}\nclass LinkedIn {\n static fromProto(proto) {\n let m = new LinkedIn();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.publicProfileId !== 'undefined') {\n toReturn['publicProfileId'] = this.publicProfileId;\n }\n return toReturn;\n }\n}\nclass ListResourcesRequest {\n static fromProto(proto) {\n let m = new ListResourcesRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.filters) {\n m.filters = ListResourcesRequestFilters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n return toReturn;\n }\n}\nclass ListResourcesResponse {\n static fromProto(proto) {\n let m = new ListResourcesResponse();\n m = Object.assign(m, proto);\n if (proto.resources) {\n m.resources = proto.resources.map(Resource.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resources !== 'undefined' && this.resources !== null) {\n toReturn['resources'] = 'toApiJson' in this.resources ? this.resources.toApiJson() : this.resources;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequest {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.filters) {\n m.filters = ListSecurityLogsRequestFilters.fromProto(proto.filters);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsResponse {\n static fromProto(proto) {\n let m = new ListSecurityLogsResponse();\n m = Object.assign(m, proto);\n if (proto.logs) {\n m.logs = proto.logs.map(SecurityLog.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.logs !== 'undefined' && this.logs !== null) {\n toReturn['logs'] = 'toApiJson' in this.logs ? this.logs.toApiJson() : this.logs;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListUserRolesMetadataRequest {\n static fromProto(proto) {\n let m = new ListUserRolesMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListUserRolesMetadataResponse {\n static fromProto(proto) {\n let m = new ListUserRolesMetadataResponse();\n m = Object.assign(m, proto);\n if (proto.userRoleMetadatas) {\n m.userRoleMetadatas = proto.userRoleMetadatas.map(UserRoleMetadata.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userRoleMetadatas !== 'undefined' && this.userRoleMetadatas !== null) {\n toReturn['userRoleMetadatas'] = 'toApiJson' in this.userRoleMetadatas ? this.userRoleMetadatas.toApiJson() : this.userRoleMetadatas;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListUsersRequest {\n static fromProto(proto) {\n let m = new ListUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userFilter) {\n m.userFilter = UserFilter.fromProto(proto.userFilter);\n }\n if (proto.propertyMask) {\n m.propertyMask = UserPropertyMask.fromProto(proto.propertyMask);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.sortOptions) {\n m.sortOptions = proto.sortOptions.map(UserSortOptions.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.allPartners !== 'undefined') {\n toReturn['allPartners'] = this.allPartners;\n }\n if (typeof this.userFilter !== 'undefined' && this.userFilter !== null) {\n toReturn['userFilter'] = 'toApiJson' in this.userFilter ? this.userFilter.toApiJson() : this.userFilter;\n }\n if (typeof this.propertyMask !== 'undefined' && this.propertyMask !== null) {\n toReturn['propertyMask'] = 'toApiJson' in this.propertyMask ? this.propertyMask.toApiJson() : this.propertyMask;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {\n toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? this.sortOptions.toApiJson() : this.sortOptions;\n }\n return toReturn;\n }\n}\nclass ListUsersResponse {\n static fromProto(proto) {\n let m = new ListUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass NamespacedEmail {\n static fromProto(proto) {\n let m = new NamespacedEmail();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass OAuthCredentials {\n static fromProto(proto) {\n let m = new OAuthCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.provider !== 'undefined') {\n toReturn['provider'] = this.provider;\n }\n if (typeof this.idToken !== 'undefined') {\n toReturn['idToken'] = this.idToken;\n }\n if (typeof this.accessToken !== 'undefined') {\n toReturn['accessToken'] = this.accessToken;\n }\n return toReturn;\n }\n}\nclass OneTimePasswordCredentials {\n static fromProto(proto) {\n let m = new OneTimePasswordCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.oneTimePassword !== 'undefined') {\n toReturn['oneTimePassword'] = this.oneTimePassword;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequestOperation {\n static fromProto(proto) {\n let m = new UpdateUserRequestOperation();\n m = Object.assign(m, proto);\n if (proto.phoneNumbers) {\n m.phoneNumbers = UpdateUserRequestPhoneNumbers.fromProto(proto.phoneNumbers);\n }\n if (proto.address) {\n m.address = Address.fromProto(proto.address);\n }\n if (proto.linkedIn) {\n m.linkedIn = LinkedIn.fromProto(proto.linkedIn);\n }\n if (proto.externalId) {\n m.externalId = TypedExternalIdentifier.fromProto(proto.externalId);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phoneNumbers !== 'undefined' && this.phoneNumbers !== null) {\n toReturn['phoneNumbers'] = 'toApiJson' in this.phoneNumbers ? this.phoneNumbers.toApiJson() : this.phoneNumbers;\n }\n if (typeof this.address !== 'undefined' && this.address !== null) {\n toReturn['address'] = 'toApiJson' in this.address ? this.address.toApiJson() : this.address;\n }\n if (typeof this.profileImageUrl !== 'undefined') {\n toReturn['profileImageUrl'] = this.profileImageUrl;\n }\n if (typeof this.timeZone !== 'undefined') {\n toReturn['timeZone'] = this.timeZone;\n }\n if (typeof this.linkedIn !== 'undefined' && this.linkedIn !== null) {\n toReturn['linkedIn'] = 'toApiJson' in this.linkedIn ? this.linkedIn.toApiJson() : this.linkedIn;\n }\n if (typeof this.meetingBookingUrl !== 'undefined') {\n toReturn['meetingBookingUrl'] = this.meetingBookingUrl;\n }\n if (typeof this.externalId !== 'undefined' && this.externalId !== null) {\n toReturn['externalId'] = 'toApiJson' in this.externalId ? this.externalId.toApiJson() : this.externalId;\n }\n return toReturn;\n }\n}\nclass UpdateUserRoleRequestOperation {\n static fromProto(proto) {\n let m = new UpdateUserRoleRequestOperation();\n m = Object.assign(m, proto);\n if (proto.replaceAttributes) {\n m.replaceAttributes = StructAttribute.fromProto(proto.replaceAttributes);\n }\n if (proto.addAttributes) {\n m.addAttributes = StructAttribute.fromProto(proto.addAttributes);\n }\n if (proto.removeAttributes) {\n m.removeAttributes = StructAttribute.fromProto(proto.removeAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dropAttributeKey !== 'undefined') {\n toReturn['dropAttributeKey'] = this.dropAttributeKey;\n }\n if (typeof this.replaceAttributes !== 'undefined' && this.replaceAttributes !== null) {\n toReturn['replaceAttributes'] = 'toApiJson' in this.replaceAttributes ? this.replaceAttributes.toApiJson() : this.replaceAttributes;\n }\n if (typeof this.addAttributes !== 'undefined' && this.addAttributes !== null) {\n toReturn['addAttributes'] = 'toApiJson' in this.addAttributes ? this.addAttributes.toApiJson() : this.addAttributes;\n }\n if (typeof this.removeAttributes !== 'undefined' && this.removeAttributes !== null) {\n toReturn['removeAttributes'] = 'toApiJson' in this.removeAttributes ? this.removeAttributes.toApiJson() : this.removeAttributes;\n }\n return toReturn;\n }\n}\nclass PasswordCredentials {\n static fromProto(proto) {\n let m = new PasswordCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass PhoneNumber {\n static fromProto(proto) {\n let m = new PhoneNumber();\n m = Object.assign(m, proto);\n if (proto.phoneNumberType) {\n m.phoneNumberType = enumStringToValue$3(PhoneNumberType, proto.phoneNumberType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.phoneNumberType !== 'undefined') {\n toReturn['phoneNumberType'] = this.phoneNumberType;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequestPhoneNumbers {\n static fromProto(proto) {\n let m = new UpdateUserRequestPhoneNumbers();\n m = Object.assign(m, proto);\n if (proto.phoneNumbers) {\n m.phoneNumbers = proto.phoneNumbers.map(PhoneNumber.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.phoneNumbers !== 'undefined' && this.phoneNumbers !== null) {\n toReturn['phoneNumbers'] = 'toApiJson' in this.phoneNumbers ? this.phoneNumbers.toApiJson() : this.phoneNumbers;\n }\n return toReturn;\n }\n}\nclass ReplaceResourceRequestPoliciesEntry {\n static fromProto(proto) {\n let m = new ReplaceResourceRequestPoliciesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = PolicyNode.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass Policy {\n static fromProto(proto) {\n let m = new Policy();\n m = Object.assign(m, proto);\n if (proto.policy) {\n m.policy = PolicyNode.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.policyId !== 'undefined') {\n toReturn['policyId'] = this.policyId;\n }\n if (typeof this.policyName !== 'undefined') {\n toReturn['policyName'] = this.policyName;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n if (typeof this.readOnlyPolicy !== 'undefined') {\n toReturn['readOnlyPolicy'] = this.readOnlyPolicy;\n }\n if (typeof this.resourceAttributesUsed !== 'undefined') {\n toReturn['resourceAttributesUsed'] = this.resourceAttributesUsed;\n }\n return toReturn;\n }\n}\nclass PublicKey {\n static fromProto(proto) {\n let m = new PublicKey();\n m = Object.assign(m, proto);\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue$3(AlgorithmType, proto.algorithmType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n return toReturn;\n }\n}\nclass RegisterPolicyRequest {\n static fromProto(proto) {\n let m = new RegisterPolicyRequest();\n m = Object.assign(m, proto);\n if (proto.policy) {\n m.policy = Policy.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass RegisterResourceOwnerRequest {\n static fromProto(proto) {\n let m = new RegisterResourceOwnerRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.appName !== 'undefined') {\n toReturn['appName'] = this.appName;\n }\n return toReturn;\n }\n}\nclass RegisterResourceRequest {\n static fromProto(proto) {\n let m = new RegisterResourceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceName !== 'undefined') {\n toReturn['resourceName'] = this.resourceName;\n }\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n return toReturn;\n }\n}\nclass RegisterUserRoleMetadataRequest {\n static fromProto(proto) {\n let m = new RegisterUserRoleMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.userRoleMetadata) {\n m.userRoleMetadata = UserRoleMetadata.fromProto(proto.userRoleMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userRoleMetadata !== 'undefined' && this.userRoleMetadata !== null) {\n toReturn['userRoleMetadata'] = 'toApiJson' in this.userRoleMetadata ? this.userRoleMetadata.toApiJson() : this.userRoleMetadata;\n }\n return toReturn;\n }\n}\nclass RemoveClientKeyRequest {\n static fromProto(proto) {\n let m = new RemoveClientKeyRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.clientKeyId !== 'undefined') {\n toReturn['clientKeyId'] = this.clientKeyId;\n }\n return toReturn;\n }\n}\nclass RemoveMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new RemoveMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue$3(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass RemoveUserRoleRequest {\n static fromProto(proto) {\n let m = new RemoveUserRoleRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n return toReturn;\n }\n}\nclass ReplaceResourceRequest {\n static fromProto(proto) {\n let m = new ReplaceResourceRequest();\n m = Object.assign(m, proto);\n if (proto.policies) {\n m.policies = Object.keys(proto.policies).reduce((obj, k) => {\n obj[k] = PolicyNode.fromProto(proto.policies[k]);\n return obj;\n }, {});\n }\n if (proto.callbackResourceData) {\n m.callbackResourceData = CallbackResourceData.fromProto(proto.callbackResourceData);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.ownerId !== 'undefined') {\n toReturn['ownerId'] = this.ownerId;\n }\n if (typeof this.resourceKind !== 'undefined') {\n toReturn['resourceKind'] = this.resourceKind;\n }\n if (typeof this.resourceDescription !== 'undefined') {\n toReturn['resourceDescription'] = this.resourceDescription;\n }\n if (typeof this.policies !== 'undefined' && this.policies !== null) {\n toReturn['policies'] = 'toApiJson' in this.policies ? this.policies.toApiJson() : this.policies;\n }\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.callbackResourceData !== 'undefined' && this.callbackResourceData !== null) {\n toReturn['callbackResourceData'] = 'toApiJson' in this.callbackResourceData ? this.callbackResourceData.toApiJson() : this.callbackResourceData;\n }\n return toReturn;\n }\n}\nclass ResetPasswordRequest {\n static fromProto(proto) {\n let m = new ResetPasswordRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resetPasswordToken !== 'undefined') {\n toReturn['resetPasswordToken'] = this.resetPasswordToken;\n }\n if (typeof this.newPassword !== 'undefined') {\n toReturn['newPassword'] = this.newPassword;\n }\n if (typeof this.invalidateActiveSessions !== 'undefined') {\n toReturn['invalidateActiveSessions'] = this.invalidateActiveSessions;\n }\n return toReturn;\n }\n}\nclass Resource {\n static fromProto(proto) {\n let m = new Resource();\n m = Object.assign(m, proto);\n if (proto.callbackResourceData) {\n m.callbackResourceData = CallbackResourceData.fromProto(proto.callbackResourceData);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.policies) {\n m.policies = proto.policies.map(Policy.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceName !== 'undefined') {\n toReturn['resourceName'] = this.resourceName;\n }\n if (typeof this.vstoreLink !== 'undefined') {\n toReturn['vstoreLink'] = this.vstoreLink;\n }\n if (typeof this.callbackResourceData !== 'undefined' && this.callbackResourceData !== null) {\n toReturn['callbackResourceData'] = 'toApiJson' in this.callbackResourceData ? this.callbackResourceData.toApiJson() : this.callbackResourceData;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.policies !== 'undefined' && this.policies !== null) {\n toReturn['policies'] = 'toApiJson' in this.policies ? this.policies.toApiJson() : this.policies;\n }\n if (typeof this.supportedRoleTypes !== 'undefined') {\n toReturn['supportedRoleTypes'] = this.supportedRoleTypes;\n }\n if (typeof this.resourceAttributes !== 'undefined') {\n toReturn['resourceAttributes'] = this.resourceAttributes;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n return toReturn;\n }\n}\nclass AccessResourceRequestResourceAttributesEntry {\n static fromProto(proto) {\n let m = new AccessResourceRequestResourceAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = StructAttribute.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass UserRolesEntry {\n static fromProto(proto) {\n let m = new UserRolesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = UserRole.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass SearchUsersRequest {\n static fromProto(proto) {\n let m = new SearchUsersRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass SearchUsersResponse {\n static fromProto(proto) {\n let m = new SearchUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass SecurityLog {\n static fromProto(proto) {\n let m = new SecurityLog();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n if (typeof this.logId !== 'undefined') {\n toReturn['logId'] = this.logId;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nclass SendEmailVerificationRequest {\n static fromProto(proto) {\n let m = new SendEmailVerificationRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n if (typeof this.nextUrlButtonText !== 'undefined') {\n toReturn['nextUrlButtonText'] = this.nextUrlButtonText;\n }\n if (typeof this.forceEmailBrandingPartnerId !== 'undefined') {\n toReturn['forceEmailBrandingPartnerId'] = this.forceEmailBrandingPartnerId;\n }\n if (typeof this.recaptchaToken !== 'undefined') {\n toReturn['recaptchaToken'] = this.recaptchaToken;\n }\n return toReturn;\n }\n}\nclass SendOneTimePasswordEmailRequest {\n static fromProto(proto) {\n let m = new SendOneTimePasswordEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.parameters !== 'undefined') {\n toReturn['parameters'] = this.parameters;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n if (typeof this.nextUrlButtonText !== 'undefined') {\n toReturn['nextUrlButtonText'] = this.nextUrlButtonText;\n }\n return toReturn;\n }\n}\nclass TypedExternalIdentifier {\n static fromProto(proto) {\n let m = new TypedExternalIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequest {\n static fromProto(proto) {\n let m = new UpdateUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.operations) {\n m.operations = proto.operations.map(UpdateUserRequestOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.operations !== 'undefined' && this.operations !== null) {\n toReturn['operations'] = 'toApiJson' in this.operations ? this.operations.toApiJson() : this.operations;\n }\n return toReturn;\n }\n}\nclass UpdateUserRoleRequest {\n static fromProto(proto) {\n let m = new UpdateUserRoleRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.operations) {\n m.operations = proto.operations.map(UpdateUserRoleRequestOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.operations !== 'undefined' && this.operations !== null) {\n toReturn['operations'] = 'toApiJson' in this.operations ? this.operations.toApiJson() : this.operations;\n }\n return toReturn;\n }\n}\nclass UpsertExternalIDRequest {\n static fromProto(proto) {\n let m = new UpsertExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n return toReturn;\n }\n}\nclass UpsertPartnerLimitsRequest {\n static fromProto(proto) {\n let m = new UpsertPartnerLimitsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.limitsId !== 'undefined') {\n toReturn['limitsId'] = this.limitsId;\n }\n return toReturn;\n }\n}\nclass User {\n static fromProto(proto) {\n let m = new User();\n m = Object.assign(m, proto);\n if (proto.roles) {\n m.roles = Object.keys(proto.roles).reduce((obj, k) => {\n obj[k] = UserRole.fromProto(proto.roles[k]);\n return obj;\n }, {});\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.publicKeys) {\n m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);\n }\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n if (proto.phoneNumbers) {\n m.phoneNumbers = proto.phoneNumbers.map(PhoneNumber.fromProto);\n }\n if (proto.address) {\n m.address = Address.fromProto(proto.address);\n }\n if (proto.linkedIn) {\n m.linkedIn = LinkedIn.fromProto(proto.linkedIn);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.roles !== 'undefined' && this.roles !== null) {\n toReturn['roles'] = 'toApiJson' in this.roles ? this.roles.toApiJson() : this.roles;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {\n toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n if (typeof this.emailVerified !== 'undefined') {\n toReturn['emailVerified'] = this.emailVerified;\n }\n if (typeof this.phoneNumbers !== 'undefined' && this.phoneNumbers !== null) {\n toReturn['phoneNumbers'] = 'toApiJson' in this.phoneNumbers ? this.phoneNumbers.toApiJson() : this.phoneNumbers;\n }\n if (typeof this.address !== 'undefined' && this.address !== null) {\n toReturn['address'] = 'toApiJson' in this.address ? this.address.toApiJson() : this.address;\n }\n if (typeof this.profileImageUrl !== 'undefined') {\n toReturn['profileImageUrl'] = this.profileImageUrl;\n }\n if (typeof this.timeZone !== 'undefined') {\n toReturn['timeZone'] = this.timeZone;\n }\n if (typeof this.userSpecifiedPassword !== 'undefined') {\n toReturn['userSpecifiedPassword'] = this.userSpecifiedPassword;\n }\n if (typeof this.linkedIn !== 'undefined' && this.linkedIn !== null) {\n toReturn['linkedIn'] = 'toApiJson' in this.linkedIn ? this.linkedIn.toApiJson() : this.linkedIn;\n }\n if (typeof this.meetingBookingUrl !== 'undefined') {\n toReturn['meetingBookingUrl'] = this.meetingBookingUrl;\n }\n return toReturn;\n }\n}\nclass UserAndImpersonateeId {\n static fromProto(proto) {\n let m = new UserAndImpersonateeId();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.impersonateeId !== 'undefined') {\n toReturn['impersonateeId'] = this.impersonateeId;\n }\n return toReturn;\n }\n}\nclass UserFilter {\n static fromProto(proto) {\n let m = new UserFilter();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleIds !== 'undefined') {\n toReturn['roleIds'] = this.roleIds;\n }\n if (typeof this.searchTerms !== 'undefined') {\n toReturn['searchTerms'] = this.searchTerms;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.emailVerified !== 'undefined') {\n toReturn['emailVerified'] = this.emailVerified;\n }\n return toReturn;\n }\n}\nclass UserIdentifier {\n static fromProto(proto) {\n let m = new UserIdentifier();\n m = Object.assign(m, proto);\n if (proto.namespacedEmail) {\n m.namespacedEmail = NamespacedEmail.fromProto(proto.namespacedEmail);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.namespacedEmail !== 'undefined' && this.namespacedEmail !== null) {\n toReturn['namespacedEmail'] = 'toApiJson' in this.namespacedEmail ? this.namespacedEmail.toApiJson() : this.namespacedEmail;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass UserPropertyMask {\n static fromProto(proto) {\n let m = new UserPropertyMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.includeRoles !== 'undefined') {\n toReturn['includeRoles'] = this.includeRoles;\n }\n return toReturn;\n }\n}\nclass UserRole {\n static fromProto(proto) {\n let m = new UserRole();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = StructAttribute.fromProto(proto.attributes);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nclass UserRoleMetadata {\n static fromProto(proto) {\n let m = new UserRoleMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.ownerUserId !== 'undefined') {\n toReturn['ownerUserId'] = this.ownerUserId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n return toReturn;\n }\n}\nclass UserSortOptions {\n static fromProto(proto) {\n let m = new UserSortOptions();\n m = Object.assign(m, proto);\n if (proto.direction) {\n m.direction = enumStringToValue$3(SortDirection, proto.direction);\n }\n if (proto.field) {\n m.field = enumStringToValue$3(UserSortField, proto.field);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n return toReturn;\n }\n}\nclass VerifyEmailRequest {\n static fromProto(proto) {\n let m = new VerifyEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.requestOtpCode !== 'undefined') {\n toReturn['requestOtpCode'] = this.requestOtpCode;\n }\n return toReturn;\n }\n}\nclass VerifyEmailResponse {\n static fromProto(proto) {\n let m = new VerifyEmailResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.otpCode !== 'undefined') {\n toReturn['otpCode'] = this.otpCode;\n }\n return toReturn;\n }\n}\nfunction userIdUserIdentifier(userId) {\n return new UserIdentifier({\n userId: userId\n });\n}\nfunction tokenUserIdentifier(token) {\n return new UserIdentifier({\n token: token\n });\n}\nfunction namespacedEmailUserIdentifier(namespace, email) {\n return new UserIdentifier({\n namespacedEmail: new NamespacedEmail({\n namespace: namespace,\n email: email\n })\n });\n}\nfunction typedExternalUserIdentifier(externalIdType, externalId) {\n return new UserIdentifier({\n typedExternalIdentifier: new TypedExternalIdentifier({\n externalIdType: externalIdType,\n externalId: externalId\n })\n });\n}\nfunction subjectIdUserIdentifier(subjectId) {\n return new UserIdentifier({\n subjectId: subjectId\n });\n}\n\n// SetFirstName .\nfunction SetFirstName(firstName) {\n return new UpdateUserRequestOperation({\n firstName: firstName\n });\n}\n// SetGreetingName .\nfunction SetGreetingName(greetingName) {\n return new UpdateUserRequestOperation({\n greetingName: greetingName\n });\n}\n// SetLastName .\nfunction SetLastName(lastName) {\n return new UpdateUserRequestOperation({\n lastName: lastName\n });\n}\n// SetLanguageCode .\nfunction SetLanguageCode(languageCode) {\n return new UpdateUserRequestOperation({\n languageCode: languageCode\n });\n}\n// SetEmail .\nfunction SetEmail(email) {\n return new UpdateUserRequestOperation({\n email: email\n });\n}\n// SetPhoneNumbers .\nfunction SetPhoneNumbers(phoneNumbers) {\n return new UpdateUserRequestOperation({\n phoneNumbers: new UpdateUserRequestPhoneNumbers({\n phoneNumbers: phoneNumbers\n })\n });\n}\n// SetAddress .\nfunction SetAddress(address) {\n return new UpdateUserRequestOperation({\n address: new Address(address)\n });\n}\n// SetProfileImageUrl .\nfunction SetProfileImageUrl(profileImageUrl) {\n return new UpdateUserRequestOperation({\n profileImageUrl: profileImageUrl\n });\n}\n// SetTimeZone .\nfunction SetTimeZone(timeZone) {\n return new UpdateUserRequestOperation({\n timeZone: timeZone\n });\n}\n// SetLinkedIn .\nfunction SetLinkedIn(linkedIn) {\n return new UpdateUserRequestOperation({\n linkedIn: new LinkedIn(linkedIn)\n });\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ArchiveAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new ArchiveAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined' && this.identifier !== null) {\n toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;\n }\n return toReturn;\n }\n}\nclass AuxiliaryDataFieldSchema {\n static fromProto(proto) {\n let m = new AuxiliaryDataFieldSchema();\n m = Object.assign(m, proto);\n if (proto.fieldType) {\n m.fieldType = enumStringToValue(AuxiliaryDataFieldType, proto.fieldType);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.dropdownOptions) {\n m.dropdownOptions = proto.dropdownOptions.map(DropdownOption.fromProto);\n }\n if (proto.archived) {\n m.archived = new Date(proto.archived);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.fieldId !== 'undefined') {\n toReturn['fieldId'] = this.fieldId;\n }\n if (typeof this.fieldType !== 'undefined') {\n toReturn['fieldType'] = this.fieldType;\n }\n if (typeof this.fieldName !== 'undefined') {\n toReturn['fieldName'] = this.fieldName;\n }\n if (typeof this.fieldDescription !== 'undefined') {\n toReturn['fieldDescription'] = this.fieldDescription;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.dropdownOptions !== 'undefined' && this.dropdownOptions !== null) {\n toReturn['dropdownOptions'] = 'toApiJson' in this.dropdownOptions ? this.dropdownOptions.toApiJson() : this.dropdownOptions;\n }\n if (typeof this.currencyCode !== 'undefined') {\n toReturn['currencyCode'] = this.currencyCode;\n }\n if (typeof this.archived !== 'undefined' && this.archived !== null) {\n toReturn['archived'] = 'toApiJson' in this.archived ? this.archived.toApiJson() : this.archived;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n return toReturn;\n }\n}\nclass AuxiliaryDataObjectID {\n static fromProto(proto) {\n let m = new AuxiliaryDataObjectID();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.objectId !== 'undefined') {\n toReturn['objectId'] = this.objectId;\n }\n return toReturn;\n }\n}\nclass CreateAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new CreateAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.fieldSchema) {\n m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {\n toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? this.fieldSchema.toApiJson() : this.fieldSchema;\n }\n return toReturn;\n }\n}\nclass DropdownOption {\n static fromProto(proto) {\n let m = new DropdownOption();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass FieldDataUpsertOperation {\n static fromProto(proto) {\n let m = new FieldDataUpsertOperation();\n m = Object.assign(m, proto);\n if (proto.integer) {\n m.integer = parseInt(proto.integer, 10);\n }\n if (proto.date) {\n m.date = new Date(proto.date);\n }\n if (proto.currencyValue) {\n m.currencyValue = parseInt(proto.currencyValue, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldDataId !== 'undefined') {\n toReturn['fieldDataId'] = this.fieldDataId;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n if (typeof this.integer !== 'undefined') {\n toReturn['integer'] = this.integer;\n }\n if (typeof this.string !== 'undefined') {\n toReturn['string'] = this.string;\n }\n if (typeof this.date !== 'undefined' && this.date !== null) {\n toReturn['date'] = 'toApiJson' in this.date ? this.date.toApiJson() : this.date;\n }\n if (typeof this.dropdownValue !== 'undefined') {\n toReturn['dropdownValue'] = this.dropdownValue;\n }\n if (typeof this.currencyValue !== 'undefined') {\n toReturn['currencyValue'] = this.currencyValue;\n }\n if (typeof this.deleteValue !== 'undefined') {\n toReturn['deleteValue'] = this.deleteValue;\n }\n return toReturn;\n }\n}\nclass FieldSchemaIdentifier {\n static fromProto(proto) {\n let m = new FieldSchemaIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldId !== 'undefined') {\n toReturn['fieldId'] = this.fieldId;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataFieldSchemaRequestFilters {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataFieldSchemaRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.onlyArchived !== 'undefined') {\n toReturn['onlyArchived'] = this.onlyArchived;\n }\n return toReturn;\n }\n}\nclass GetAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new GetAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined' && this.identifier !== null) {\n toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;\n }\n return toReturn;\n }\n}\nclass GetAuxiliaryDataFieldSchemaResponse {\n static fromProto(proto) {\n let m = new GetAuxiliaryDataFieldSchemaResponse();\n m = Object.assign(m, proto);\n if (proto.fieldSchema) {\n m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {\n toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? this.fieldSchema.toApiJson() : this.fieldSchema;\n }\n return toReturn;\n }\n}\nclass GetMultiAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new GetMultiAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifiers) {\n m.identifiers = proto.identifiers.map(FieldSchemaIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {\n toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;\n }\n return toReturn;\n }\n}\nclass GetMultiAuxiliaryDataFieldSchemaResponse {\n static fromProto(proto) {\n let m = new GetMultiAuxiliaryDataFieldSchemaResponse();\n m = Object.assign(m, proto);\n if (proto.fieldSchemas) {\n m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {\n toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? this.fieldSchemas.toApiJson() : this.fieldSchemas;\n }\n return toReturn;\n }\n}\nclass GetMultiAuxiliaryDataRequest {\n static fromProto(proto) {\n let m = new GetMultiAuxiliaryDataRequest();\n m = Object.assign(m, proto);\n if (proto.auxiliaryDataObjectId) {\n m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {\n toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? this.auxiliaryDataObjectId.toApiJson() : this.auxiliaryDataObjectId;\n }\n if (typeof this.fieldIds !== 'undefined') {\n toReturn['fieldIds'] = this.fieldIds;\n }\n return toReturn;\n }\n}\nclass GetMultiAuxiliaryDataResponse {\n static fromProto(proto) {\n let m = new GetMultiAuxiliaryDataResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.jsonSchema !== 'undefined') {\n toReturn['jsonSchema'] = this.jsonSchema;\n }\n if (typeof this.jsonData !== 'undefined') {\n toReturn['jsonData'] = this.jsonData;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n if (proto.filters) {\n m.filters = ListAuxiliaryDataFieldSchemaRequestFilters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataFieldSchemaResponse {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataFieldSchemaResponse();\n m = Object.assign(m, proto);\n if (proto.fieldSchemas) {\n m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {\n toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? this.fieldSchemas.toApiJson() : this.fieldSchemas;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataRequest {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataRequest();\n m = Object.assign(m, proto);\n if (proto.auxiliaryDataObjectId) {\n m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {\n toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? this.auxiliaryDataObjectId.toApiJson() : this.auxiliaryDataObjectId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataResponse {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataResponse();\n m = Object.assign(m, proto);\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.jsonSchema !== 'undefined') {\n toReturn['jsonSchema'] = this.jsonSchema;\n }\n if (typeof this.jsonData !== 'undefined') {\n toReturn['jsonData'] = this.jsonData;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass UnarchiveAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new UnarchiveAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined' && this.identifier !== null) {\n toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;\n }\n return toReturn;\n }\n}\nclass UpdateAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new UpdateAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.fieldSchema) {\n m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {\n toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? this.fieldSchema.toApiJson() : this.fieldSchema;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpsertAuxiliaryDataRequest {\n static fromProto(proto) {\n let m = new UpsertAuxiliaryDataRequest();\n m = Object.assign(m, proto);\n if (proto.auxiliaryDataObjectId) {\n m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);\n }\n if (proto.fieldDataUpsertOperations) {\n m.fieldDataUpsertOperations = proto.fieldDataUpsertOperations.map(FieldDataUpsertOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {\n toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? this.auxiliaryDataObjectId.toApiJson() : this.auxiliaryDataObjectId;\n }\n if (typeof this.fieldDataUpsertOperations !== 'undefined' && this.fieldDataUpsertOperations !== null) {\n toReturn['fieldDataUpsertOperations'] = 'toApiJson' in this.fieldDataUpsertOperations ? this.fieldDataUpsertOperations.toApiJson() : this.fieldDataUpsertOperations;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'iam.vendasta-local.com',\n 'test': '',\n 'demo': 'iam-api-demo.apigateway.co',\n 'prod': 'iam-api-prod.apigateway.co',\n 'production': 'iam-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet IAMApiService = /*#__PURE__*/(() => {\n class IAMApiService {\n constructor() {\n this.hostService = inject(HostService);\n this.http = inject(HttpClient);\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getMultiUsers(r) {\n const request = r.toApiJson ? r : new GetMultiUsersRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetMultiUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiUsersResponse.fromProto(resp)));\n }\n listUsers(r) {\n const request = r.toApiJson ? r : new ListUsersRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListUsersResponse.fromProto(resp)));\n }\n updateUser(r) {\n const request = r.toApiJson ? r : new UpdateUserRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpdateUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deleteUser(r) {\n const request = r.toApiJson ? r : new DeleteUserRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/DeleteUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addClientKey(r) {\n const request = r.toApiJson ? r : new AddClientKeyRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/AddClientKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddClientKeyResponse.fromProto(resp)));\n }\n removeClientKey(r) {\n const request = r.toApiJson ? r : new RemoveClientKeyRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/RemoveClientKey\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n resetPassword(r) {\n const request = r.toApiJson ? r : new ResetPasswordRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ResetPassword\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listSecurityLogs(r) {\n const request = r.toApiJson ? r : new ListSecurityLogsRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListSecurityLogs\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListSecurityLogsResponse.fromProto(resp)));\n }\n accessResource(r) {\n const request = r.toApiJson ? r : new AccessResourceRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/AccessResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n exchangeClientKeyAssertion(r) {\n const request = r.toApiJson ? r : new ExchangeClientKeyAssertionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ExchangeClientKeyAssertion\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ExchangeClientKeyAssertionResponse.fromProto(resp)));\n }\n verifyEmail(r) {\n const request = r.toApiJson ? r : new VerifyEmailRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/VerifyEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => VerifyEmailResponse.fromProto(resp)));\n }\n sendEmailVerification(r) {\n const request = r.toApiJson ? r : new SendEmailVerificationRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/SendEmailVerification\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n sendOneTimePasswordEmail(r) {\n const request = r.toApiJson ? r : new SendOneTimePasswordEmailRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/SendOneTimePasswordEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMultiExternalId(r) {\n const request = r.toApiJson ? r : new GetMultiExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetMultiExternalID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiExternalIDResponse.fromProto(resp)));\n }\n createExternalId(r) {\n const request = r.toApiJson ? r : new CreateExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/CreateExternalID\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n upsertExternalId(r) {\n const request = r.toApiJson ? r : new UpsertExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpsertExternalID\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new AddMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/AddMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new RemoveMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/RemoveMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n changePassword(r) {\n const request = r.toApiJson ? r : new ChangePasswordRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ChangePassword\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listUserAuxiliaryData(r) {\n const request = r.toApiJson ? r : new ListAuxiliaryDataRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListUserAuxiliaryData\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAuxiliaryDataResponse.fromProto(resp)));\n }\n upsertUserAuxiliaryData(r) {\n const request = r.toApiJson ? r : new UpsertAuxiliaryDataRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpsertUserAuxiliaryData\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new CreateAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/CreateUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new GetAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetUserAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAuxiliaryDataFieldSchemaResponse.fromProto(resp)));\n }\n getMultiUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new GetMultiAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetMultiUserAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiAuxiliaryDataFieldSchemaResponse.fromProto(resp)));\n }\n listUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new ListAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListUserAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAuxiliaryDataFieldSchemaResponse.fromProto(resp)));\n }\n updateUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new UpdateAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpdateUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n archiveUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new ArchiveAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ArchiveUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n unarchiveUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new UnarchiveAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UnarchiveUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n IAMApiService.ɵfac = function IAMApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMApiService)();\n };\n IAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMApiService,\n factory: IAMApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction addressFromProto(address) {\n if (!address) {\n return new Address$1({});\n }\n return new Address$1({\n address: address.address,\n city: address.city,\n country: address.country,\n postalCode: address.postalCode,\n state: address.state,\n additionalAddress: address.additionalAddress\n });\n}\nfunction phoneNumberTypeFromProto(phoneNumberType) {\n switch (phoneNumberType) {\n case undefined:\n case PhoneNumberType.PHONE_NUMBER_TYPE_INVALID:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_INVALID;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_WORK:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_WORK;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_HOME:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_HOME;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_MOBILE:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_MOBILE;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_FAX:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_FAX;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_PAGER:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_PAGER;\n }\n default:\n {\n /* eslint-disable @typescript-eslint/restrict-template-expressions */\n throw new Error(`Invalid Phone Number Type: ${phoneNumberType}`);\n }\n }\n}\nfunction phoneNumberFromProto(phoneNumber) {\n if (!phoneNumber) {\n return new PhoneNumber$1({});\n }\n const phoneNumberType = phoneNumberTypeFromProto(phoneNumber.phoneNumberType);\n return new PhoneNumber$1({\n phoneNumber: phoneNumber.phoneNumber,\n phoneNumberType: phoneNumberType\n });\n}\nfunction phoneNumbersFromProto(phoneNumbers) {\n if (!phoneNumbers) {\n return [];\n }\n const result = [];\n phoneNumbers.forEach(phoneNumber => {\n if (!phoneNumber || !phoneNumber?.phoneNumber) {\n return;\n }\n result.push(phoneNumberFromProto(phoneNumber));\n });\n return result;\n}\nfunction algorithmTypeFromProto(algorithmType) {\n switch (algorithmType) {\n case undefined:\n case AlgorithmType.ALGORITHM_TYPE_ES256:\n {\n return AlgorithmType$1.ALGORITHM_TYPE_ES256;\n }\n case AlgorithmType.ALGORITHM_TYPE_RS256:\n {\n return AlgorithmType$1.ALGORITHM_TYPE_RS256;\n }\n default:\n {\n /* eslint-disable @typescript-eslint/restrict-template-expressions */\n throw new Error(`Invalid Algorithm Type: ${algorithmType}`);\n }\n }\n}\nfunction publicKeyFromProto(publicKey) {\n if (!publicKey) {\n return new PublicKey$1({});\n }\n const algorithmType = algorithmTypeFromProto(publicKey.algorithmType);\n return new PublicKey$1({\n algorithmType: algorithmType,\n id: publicKey.id,\n key: publicKey.key\n });\n}\nfunction publicKeysFromProto(publicKeys) {\n if (!publicKeys) {\n return [];\n }\n const result = [];\n publicKeys.forEach(publicKey => {\n if (!publicKey || !publicKey?.id || !publicKey?.key) {\n return;\n }\n result.push(publicKeyFromProto(publicKey));\n });\n return result;\n}\nfunction roleFromProto(role) {\n if (!role) {\n return new Role({});\n }\n return new Role({\n attributes: role.attributes,\n created: role.created,\n roleId: role.roleId,\n updated: role.updated\n });\n}\nfunction roleMapFromProto(roleMap) {\n if (!roleMap) {\n return {};\n }\n const map = {};\n for (const [key, role] of Object.entries(roleMap)) {\n map[key] = roleFromProto(role);\n }\n return map;\n}\nfunction linkedInFromProto(linkedIn) {\n if (!linkedIn) {\n return new LinkedIn$1({});\n }\n return new LinkedIn$1({\n publicProfileId: linkedIn.publicProfileId\n });\n}\nfunction userFromProto(user) {\n if (!user) {\n return new User$1({});\n }\n return new User$1({\n address: addressFromProto(user.address),\n created: user.created,\n email: user.email,\n emailVerified: user.emailVerified,\n firstName: user.firstName,\n greetingName: user.greetingName,\n languageCode: user.languageCode,\n lastLogin: user.lastLogin,\n lastName: user.lastName,\n linkedIn: linkedInFromProto(user.linkedIn),\n partnerId: user.partnerId,\n phoneNumbers: phoneNumbersFromProto(user.phoneNumbers),\n profileImageUrl: user.profileImageUrl,\n publicKeys: publicKeysFromProto(user.publicKeys),\n roles: roleMapFromProto(user.roles),\n timeZone: user.timeZone,\n updated: user.updated,\n userId: user.userId,\n meetingBookingUrl: user.meetingBookingUrl\n });\n}\nfunction usersFromProto(users) {\n if (!users) {\n return [];\n }\n return users.map(user => userFromProto(user));\n}\nlet IAMService = /*#__PURE__*/(() => {\n class IAMService {\n constructor(api) {\n this.api = api;\n }\n // getUser fetches a single user by their identifier.\n // Example usage: iam.getUser(userIdUserIdentifier(\"U-123\"))\n getUser(userIdentifier) {\n return this.getMultiUsers([userIdentifier]).pipe(map(users => users[0]));\n }\n // getMultiUsers fetches multiple users by their identifiers.\n // Example usage: iam.getMultiUsers([userIdUserIdentifier(\"U-123\"), subjectIdUserIdentifier(\"UID-321\")])\n getMultiUsers(userIdentifiers) {\n return this.api.getMultiUsers({\n userIdentifiers: userIdentifiers,\n // This property mask technically does nothing in the backend at the moment...\n propertyMask: new UserPropertyMask({\n includeRoles: true\n })\n }).pipe(map(r => {\n return usersFromProto(r.users);\n }));\n }\n // updateUser updates the values stored on a user\n // Example usage: iam.updateUser(userIdUserIdentifier(\"U-123\"), [\n // SetFirstName(\"Example\"),\n // SetAddress({\n // address: \"410 22 St E\",\n // city: \"Saskatoon\",\n // postalCode: \"S7K 5T6\",\n // country: \"CA\",\n // state: \"CA-SK\",\n // }),\n // ]);\n updateUser(userIdentifier, mutations) {\n return this.api.updateUser({\n userIdentifier: userIdentifier,\n operations: mutations\n });\n }\n // deleteUser deletes the user\n // Example usage: iam.deleteUser(userIdUserIdentifier(\"U-123\")\n deleteUser(userIdentifier) {\n return this.api.deleteUser({\n userIdentifier: userIdentifier\n });\n }\n // changePassword uses the user's current password to change their password to the new password\n // Example usage: iam.changePassword(userIdUserIdentifier(\"U-123\"), \"mypassword\", \"mynewpassword\");\n changePassword(userIdentifier, currentPassword, newPassword) {\n return this.api.changePassword({\n userIdentifier: userIdentifier,\n currentPassword: currentPassword,\n newPassword: newPassword\n });\n }\n // sendEmailVerification sends an email to the user to verify ownership of their email\n // recaptchaToken is required when calling without an authToken\n // Example usage: iam.sendEmailVerification(userIdUserIdentifier(\"U-123\"), EMAIL_BRANDING_PARTNER, \"www.domain.com\", \"Go Here\", recaptchaToken);\n sendEmailVerification(userIdentifier, forceEmailBrandingPartnerId, nextUrl, nextUrlButtonText, recaptchaToken) {\n return this.api.sendEmailVerification({\n userIdentifier: userIdentifier,\n forceEmailBrandingPartnerId: forceEmailBrandingPartnerId,\n nextUrl: nextUrl,\n nextUrlButtonText: nextUrlButtonText,\n recaptchaToken: recaptchaToken\n });\n }\n // verifyEmail attempts to verify the email for the user contained in the verification token\n // If the token was expired, the call will fail, and the email verification will be resent\n // If an OTP code was requested it will be returned if the user is newly verified\n verifyEmail(emailVerificationToken, requestOtpCode) {\n return this.api.verifyEmail({\n token: emailVerificationToken,\n requestOtpCode: requestOtpCode\n });\n }\n listUserAuxiliaryData(auxiliaryDataObjectId, pagingOptions) {\n return this.api.listUserAuxiliaryData({\n auxiliaryDataObjectId,\n pagingOptions\n });\n }\n upsertUserAuxiliaryData(auxiliaryDataObjectId, fieldDataUpsertOperations) {\n return this.api.upsertUserAuxiliaryData({\n auxiliaryDataObjectId,\n fieldDataUpsertOperations\n });\n }\n createUserAuxiliaryDataFieldSchema(fieldSchema) {\n return this.api.createUserAuxiliaryDataFieldSchema({\n fieldSchema\n });\n }\n getUserAuxiliaryDataFieldSchema(identifier) {\n return this.api.getUserAuxiliaryDataFieldSchema({\n identifier: identifier\n });\n }\n getMultiUserAuxiliaryDataFieldSchema(fieldSchemaIdentifiers) {\n return this.api.getMultiUserAuxiliaryDataFieldSchema({\n identifiers: fieldSchemaIdentifiers\n });\n }\n listUserAuxiliaryDataFieldSchema(partnerId, pagingOptions, filters) {\n return this.api.listUserAuxiliaryDataFieldSchema({\n partnerId,\n pagingOptions,\n filters\n });\n }\n updateUserAuxiliaryDataFieldSchema(fieldSchema, fieldMask) {\n return this.api.updateUserAuxiliaryDataFieldSchema({\n fieldSchema,\n fieldMask\n });\n }\n archiveUserAuxiliaryDataFieldSchema(identifier) {\n return this.api.archiveUserAuxiliaryDataFieldSchema({\n identifier: identifier\n });\n }\n unarchiveUserAuxiliaryDataFieldSchema(identifier) {\n return this.api.unarchiveUserAuxiliaryDataFieldSchema({\n identifier: identifier\n });\n }\n }\n IAMService.ɵfac = function IAMService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMService)(i0.ɵɵinject(IAMApiService));\n };\n IAMService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMService,\n factory: IAMService.ɵfac,\n providedIn: 'root'\n });\n return IAMService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// parseTokenInsecure parses the payload from the token and returns the data\n// Note: parseTokenInsecure does not verify the validity of the token, only extracts the data contained inside.\n// Note: You may use this to make assumptions about the active user, but ensure that your endpoints are still performing\n// reasonable access checks, and your application has performed any recommended token validation (ex. during OpenID)\nfunction parseTokenInsecure(token) {\n const decoded = jwt_decode(token);\n if (!decoded) {\n return null;\n }\n const userId = decoded?.user_id || '';\n const impersonateeUserId = decoded?.impersonatee;\n return {\n userId: userId,\n impersonateeUserId: impersonateeUserId\n };\n}\n\n// *********************************\nlet IAMAdminApiService = /*#__PURE__*/(() => {\n class IAMAdminApiService {\n constructor() {\n this.hostService = inject(HostService);\n this.http = inject(HttpClient);\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createUser(r) {\n const request = r.toApiJson ? r : new CreateUserRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/CreateUser\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateUserResponse.fromProto(resp)));\n }\n getResetPasswordToken(r) {\n const request = r.toApiJson ? r : new GetResetPasswordTokenRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/GetResetPasswordToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetResetPasswordTokenResponse.fromProto(resp)));\n }\n registerUserRoleMetadata(r) {\n const request = r.toApiJson ? r : new RegisterUserRoleMetadataRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/RegisterUserRoleMetadata\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listUserRolesMetadata(r) {\n const request = r.toApiJson ? r : new ListUserRolesMetadataRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/ListUserRolesMetadata\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListUserRolesMetadataResponse.fromProto(resp)));\n }\n addUserRole(r) {\n const request = r.toApiJson ? r : new AddUserRoleRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/AddUserRole\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateUserRole(r) {\n const request = r.toApiJson ? r : new UpdateUserRoleRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/UpdateUserRole\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeUserRole(r) {\n const request = r.toApiJson ? r : new RemoveUserRoleRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/RemoveUserRole\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerResourceOwner(r) {\n const request = r.toApiJson ? r : new RegisterResourceOwnerRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/RegisterResourceOwner\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerResource(r) {\n const request = r.toApiJson ? r : new RegisterResourceRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/RegisterResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n replaceResource(r) {\n const request = r.toApiJson ? r : new ReplaceResourceRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/ReplaceResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerPolicy(r) {\n const request = r.toApiJson ? r : new RegisterPolicyRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/RegisterPolicy\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deletePolicy(r) {\n const request = r.toApiJson ? r : new DeletePolicyRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/DeletePolicy\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n upsertPartnerLimits(r) {\n const request = r.toApiJson ? r : new UpsertPartnerLimitsRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/UpsertPartnerLimits\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createSession(r) {\n const request = r.toApiJson ? r : new CreateSessionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/CreateSession\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateSessionResponse.fromProto(resp)));\n }\n listResources(r) {\n const request = r.toApiJson ? r : new ListResourcesRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/ListResources\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListResourcesResponse.fromProto(resp)));\n }\n accessResourceWithExplanation(r) {\n const request = r.toApiJson ? r : new AccessResourceRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/AccessResourceWithExplanation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AccessResourceResponse.fromProto(resp)));\n }\n searchUsers(r) {\n const request = r.toApiJson ? r : new SearchUsersRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMAdmin/SearchUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchUsersResponse.fromProto(resp)));\n }\n }\n IAMAdminApiService.ɵfac = function IAMAdminApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMAdminApiService)();\n };\n IAMAdminApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMAdminApiService,\n factory: IAMAdminApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMAdminApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet IAMSSOApiService = /*#__PURE__*/(() => {\n class IAMSSOApiService {\n constructor() {\n this.hostService = inject(HostService);\n this.http = inject(HttpClient);\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getTokenForUser(r) {\n const request = r.toApiJson ? r : new GetTokenForUserRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAMSSO/GetTokenForUser\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenForUserResponse.fromProto(resp)));\n }\n }\n IAMSSOApiService.ɵfac = function IAMSSOApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMSSOApiService)();\n };\n IAMSSOApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMSSOApiService,\n factory: IAMSSOApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMSSOApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet IAMAdminService = /*#__PURE__*/(() => {\n class IAMAdminService {\n constructor(admin) {\n this.admin = admin;\n }\n listResources(cursor, pageSize, filters, searchTerm) {\n return this.admin.listResources({\n cursor: cursor,\n pageSize: pageSize,\n filters: filters,\n searchTerm: searchTerm\n });\n }\n listUserRolesMetadata(cursor, pageSize) {\n return this.admin.listUserRolesMetadata({\n pageSize: pageSize,\n cursor: cursor\n });\n }\n accessResourceWithExplanation(req) {\n return this.admin.accessResourceWithExplanation(req);\n }\n searchUsers(req) {\n return this.admin.searchUsers(req);\n }\n }\n IAMAdminService.ɵfac = function IAMAdminService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IAMAdminService)(i0.ɵɵinject(IAMAdminApiService));\n };\n IAMAdminService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMAdminService,\n factory: IAMAdminService.ɵfac,\n providedIn: 'root'\n });\n return IAMAdminService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AccessResourceResponse, Address$1 as Address, AlgorithmType$1 as AlgorithmType, AuxiliaryDataFieldType, EmailBranding, FieldMask, GetAuxiliaryDataFieldSchemaResponse, IAMAdminService, IAMService, LinkedIn$1 as LinkedIn, ListAuxiliaryDataFieldSchemaResponse, ListAuxiliaryDataResponse, PagedRequestOptions, PagedResponseMetadata, PhoneNumber$1 as PhoneNumber, PhoneNumberType$1 as PhoneNumberType, PublicKey$1 as PublicKey, RestrictionType, Role, SetAddress, SetEmail, SetFirstName, SetGreetingName, SetLanguageCode, SetLastName, SetLinkedIn, SetPhoneNumbers, SetProfileImageUrl, SetTimeZone, SortDirection, StructAttribute, UpdateUserRequestOperation, User$1 as User, UserIdentifier, UserSortField, namespacedEmailUserIdentifier, parseTokenInsecure, BooleanOperator as policiesBooleanOperator, ForOperator as policiesForOperator, subjectIdUserIdentifier, tokenUserIdentifier, typedExternalUserIdentifier, userIdUserIdentifier };\n"],"mappings":"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","names":["getValueFromAttribute","attr","vals","val","result","a","CamelCase","str","i","fromPersona","persona","type","getTypeFromContext","personaCls","getPersonaFromType","ctx","PersonaType","personaType","PartnerPersona","PartnerAppPersona","SalespersonPersona","SMBPersona","VendorPersona","DigitalAgentPersona","DeveloperPersona","SuccessPersona","AccountGroupPersona","CRMRolePersona","enumStringToValue$6","enumRef","value","enumStringToValue$5","enumStringToValue$4","enumStringToValue","environment","hostMap","HostService","LoginRequest","LoginResponse","LogoutResponse","SSOLoginRequest","IamHttpApiService","BasePersona","TypedPersona","NamespacedPersona","TitleChoice","AccessLevel","FieldMask","Attribute","GeoPointAttribute","ListAttribute","StructAttribute","BooleanOperator","ForOperator","AccessScope","AlgorithmType","OrderByDirection","RestrictionType","SortDirection","UserSortField","IfClause","Operator","PolicyNode","SubjectMissingValueClause","SubjectResourceForClause","SubjectResourceIntersectionClause","SubjectResourceSubsetClause","SubjectValueIntersectionClause","Policy","ResourceIdentifier","ResourceOwner","ValueList","Context","MultiValueAttribute","Mutation","NamespacedContext","Persona","PublicKey","Query","SingleValueAttribute","Subject","SubjectResult","TypedContext","SecurityLog","Identifier","NamespacedEmail","NamespacedSession","TypedExternalIdentifier","User","AccessResourceRequest","AddKeyRequest","AddKeyResponse","AddMultiUserRestrictionRequest","AuthenticateSubjectRequest","ChangeSubjectEmailRequest","CreateExternalIDRequest","CreateSessionRequest","CreateSessionResponse","CreateTemporarySubjectRequest","CreateTemporarySubjectResponse","DeleteSubjectRequest","DeleteUserRequest","ListSecurityLogsRequestFilters","GetImpersonationTokenRequest","GetImpersonationTokenResponse","GetMultiExternalIDRequest","GetMultiExternalIDResponse","GetMultiUsersRequest","GetMultiUsersResponse","GetResetPasswordTokenRequest","GetSessionTokenRequest","GetShortLivedTokenRequest","GetSubjectBySessionRequest","GetSubjectContextRequest","GetSubjectContextResponse","GetSubjectResponse","GetSubjectsByEmailRequest","GetSubjectsRequest","GetSubjectsResponse","GetTokenRequest","GetTokenResponse","IAMListPersonasRequest","ListPersonasByEmailRequest","ListPersonasRequest","ListPersonasResponse","ListSecurityLogsRequest","ListSecurityLogsResponse","ListUsersRequest","ListUsersResponse","MutateAttributesRequest","OAuthCredentials","UpdateUserRequestOperation","RegisterPolicyRequest","RegisterResourceOwnerRequest","RegisterResourceRequest","RegisterSubjectRequest","RegisterSubjectResponse","RemoveKeyRequest","RemoveMultiUserRestrictionRequest","ResetPasswordTokenResponse","ResetPasswordWithTokenRequest","ResetSubjectPasswordRequest","SearchSubjectRequest","SearchSubjectResponse","SendEmailVerificationRequest","SubjectCredentials","UpdateUserRequest","GetMultiUsersResponseUserContainer","UserFilter","UserIdentifier","UserSortOptions","VerifyEmailRequest","IAMApiService","UserIAMApiService","IAMService","init_vendasta_iam","__esmMin","init_core","init_operators","init_http","__ngFactoryType__","ɵɵdefineInjectable","_LoginRequest","proto","m","kwargs","_LoginResponse","_LogoutResponse","_SSOLoginRequest","http","hostService","includeCredentials","HttpHeaders","r","request","map","resp","share","params","apiJson","key","ɵɵinject","HttpClient","p","s","attributes","attrs","_FieldMask","toReturn","_Attribute","_GeoPointAttribute","_ListAttribute","_StructAttribute","obj","k","_IfClause","_Operator","_PolicyNode","_SubjectMissingValueClause","_SubjectResourceForClause","_SubjectResourceIntersectionClause","_SubjectResourceSubsetClause","_SubjectValueIntersectionClause","_Policy","v","_ResourceIdentifier","_ResourceOwner","_ValueList","_Context","_MultiValueAttribute","_Mutation","_NamespacedContext","_Persona","_PublicKey","_Query","_SingleValueAttribute","_Subject","_SubjectResult","_TypedContext","_SecurityLog","_Identifier","_NamespacedEmail","_NamespacedSession","_TypedExternalIdentifier","_User","_AccessResourceRequest","_AddKeyRequest","_AddKeyResponse","_AddMultiUserRestrictionRequest","_AuthenticateSubjectRequest","_ChangeSubjectEmailRequest","_CreateExternalIDRequest","_CreateSessionRequest","_CreateSessionResponse","_CreateTemporarySubjectRequest","_CreateTemporarySubjectResponse","_DeleteSubjectRequest","_DeleteUserRequest","_ListSecurityLogsRequestFilters","_GetImpersonationTokenRequest","_GetImpersonationTokenResponse","_GetMultiExternalIDRequest","_GetMultiExternalIDResponse","_GetMultiUsersRequest","_GetMultiUsersResponse","_GetResetPasswordTokenRequest","_GetSessionTokenRequest","_GetShortLivedTokenRequest","_GetSubjectBySessionRequest","_GetSubjectContextRequest","_GetSubjectContextResponse","_GetSubjectResponse","_GetSubjectsByEmailRequest","_GetSubjectsRequest","_GetSubjectsResponse","_GetTokenRequest","_GetTokenResponse","_IAMListPersonasRequest","_ListPersonasByEmailRequest","_ListPersonasRequest","_ListPersonasResponse","_ListSecurityLogsRequest","_ListSecurityLogsResponse","_ListUsersRequest","_ListUsersResponse","_MutateAttributesRequest","_OAuthCredentials","_UpdateUserRequestOperation","_RegisterPolicyRequest","_RegisterResourceOwnerRequest","_RegisterResourceRequest","_RegisterSubjectRequest","_RegisterSubjectResponse","_RemoveKeyRequest","_RemoveMultiUserRestrictionRequest","_ResetPasswordTokenResponse","_ResetPasswordWithTokenRequest","_ResetSubjectPasswordRequest","_SearchSubjectRequest","_SearchSubjectResponse","_SendEmailVerificationRequest","_SubjectCredentials","_UpdateUserRequest","_GetMultiUsersResponseUserContainer","_UserFilter","_UserIdentifier","_UserSortOptions","_VerifyEmailRequest","__spreadProps","__spreadValues","api","httpApi","iamApi","sessionId","partnerId","context","personas","email","password","nextUrl","userIdentifiers","userContainers","u","userId","cursor","pageSize","actionId","optionalArgs","namespace","subjectTypes","searchTerms","sortOptions","userFilter","e","t","r","n","o","jwt_decode_esm_default","init_jwt_decode_esm","__esmMin","a","i","c","enumStringToValue$3","enumRef","value","SetFirstName","firstName","UpdateUserRequestOperation","SetLastName","lastName","SetPhoneNumbers","phoneNumbers","UpdateUserRequestPhoneNumbers","SetAddress","address","Address","SetProfileImageUrl","profileImageUrl","enumStringToValue","addressFromProto","Address$1","phoneNumberTypeFromProto","phoneNumberType","PhoneNumberType","PhoneNumberType$1","phoneNumberFromProto","phoneNumber","PhoneNumber$1","phoneNumbersFromProto","result","algorithmTypeFromProto","algorithmType","AlgorithmType","AlgorithmType$1","publicKeyFromProto","publicKey","PublicKey$1","publicKeysFromProto","publicKeys","roleFromProto","role","Role","roleMapFromProto","roleMap","map","key","linkedInFromProto","linkedIn","LinkedIn$1","userFromProto","user","User$1","usersFromProto","users","parseTokenInsecure","token","decoded","jwt_decode_esm_default","userId","impersonateeUserId","PagedRequestOptions","PagedResponseMetadata","Attribute","GeoPointAttribute","ListAttribute","StructAttribute","AuxiliaryDataFieldType","RestrictionType","SortDirection","UserSortField","AccessResourceRequest","AddClientKeyRequest","AddClientKeyResponse","AddMultiUserRestrictionRequest","ChangePasswordRequest","CreateExternalIDRequest","DeleteUserRequest","ExchangeClientKeyAssertionRequest","ExchangeClientKeyAssertionResponse","ListSecurityLogsRequestFilters","GetMultiExternalIDRequest","GetMultiExternalIDResponse","GetMultiUsersRequest","GetMultiUsersResponse","LinkedIn","ListSecurityLogsRequest","ListSecurityLogsResponse","ListUsersRequest","ListUsersResponse","NamespacedEmail","PhoneNumber","PublicKey","RemoveClientKeyRequest","RemoveMultiUserRestrictionRequest","ResetPasswordRequest","SecurityLog","SendEmailVerificationRequest","SendOneTimePasswordEmailRequest","TypedExternalIdentifier","UpdateUserRequest","UpsertExternalIDRequest","User","UserAndImpersonateeId","UserFilter","UserIdentifier","UserPropertyMask","UserRole","UserSortOptions","VerifyEmailRequest","VerifyEmailResponse","FieldMask","ArchiveAuxiliaryDataFieldSchemaRequest","AuxiliaryDataFieldSchema","AuxiliaryDataObjectID","CreateAuxiliaryDataFieldSchemaRequest","DropdownOption","FieldDataUpsertOperation","FieldSchemaIdentifier","ListAuxiliaryDataFieldSchemaRequestFilters","GetAuxiliaryDataFieldSchemaRequest","GetAuxiliaryDataFieldSchemaResponse","GetMultiAuxiliaryDataFieldSchemaRequest","GetMultiAuxiliaryDataFieldSchemaResponse","ListAuxiliaryDataFieldSchemaRequest","ListAuxiliaryDataFieldSchemaResponse","ListAuxiliaryDataRequest","ListAuxiliaryDataResponse","UnarchiveAuxiliaryDataFieldSchemaRequest","UpdateAuxiliaryDataFieldSchemaRequest","UpsertAuxiliaryDataRequest","environment","hostMap","HostService","IAMApiService","IAMService","init_vendasta_iamv2","__esmMin","init_core","init_http","init_operators","init_jwt_decode_esm","city","postalCode","country","state","additionalAddress","publicProfileId","partnerId","email","roles","created","updated","greetingName","languageCode","lastLogin","emailVerified","timeZone","meetingBookingUrl","roleId","attributes","id","_PagedRequestOptions","proto","m","kwargs","toReturn","_PagedResponseMetadata","_Attribute","_GeoPointAttribute","_ListAttribute","_StructAttribute","obj","k","_AccessResourceRequest","_AddClientKeyRequest","_AddClientKeyResponse","_AddMultiUserRestrictionRequest","_Address","_ChangePasswordRequest","_CreateExternalIDRequest","_DeleteUserRequest","_ExchangeClientKeyAssertionRequest","_ExchangeClientKeyAssertionResponse","_ListSecurityLogsRequestFilters","_GetMultiExternalIDRequest","_GetMultiExternalIDResponse","_GetMultiUsersRequest","_GetMultiUsersResponse","_LinkedIn","_ListSecurityLogsRequest","_ListSecurityLogsResponse","_ListUsersRequest","_ListUsersResponse","_NamespacedEmail","_UpdateUserRequestOperation","_PhoneNumber","_UpdateUserRequestPhoneNumbers","_PublicKey","_RemoveClientKeyRequest","_RemoveMultiUserRestrictionRequest","_ResetPasswordRequest","_SecurityLog","_SendEmailVerificationRequest","_SendOneTimePasswordEmailRequest","_TypedExternalIdentifier","_UpdateUserRequest","_UpsertExternalIDRequest","_User","_UserAndImpersonateeId","_UserFilter","_UserIdentifier","_UserPropertyMask","_UserRole","_UserSortOptions","_VerifyEmailRequest","_VerifyEmailResponse","_FieldMask","_ArchiveAuxiliaryDataFieldSchemaRequest","_AuxiliaryDataFieldSchema","_AuxiliaryDataObjectID","_CreateAuxiliaryDataFieldSchemaRequest","_DropdownOption","_FieldDataUpsertOperation","_FieldSchemaIdentifier","_ListAuxiliaryDataFieldSchemaRequestFilters","_GetAuxiliaryDataFieldSchemaRequest","_GetAuxiliaryDataFieldSchemaResponse","_GetMultiAuxiliaryDataFieldSchemaRequest","_GetMultiAuxiliaryDataFieldSchemaResponse","_ListAuxiliaryDataFieldSchemaRequest","_ListAuxiliaryDataFieldSchemaResponse","_ListAuxiliaryDataRequest","_ListAuxiliaryDataResponse","_UnarchiveAuxiliaryDataFieldSchemaRequest","_UpdateAuxiliaryDataFieldSchemaRequest","_UpsertAuxiliaryDataRequest","__ngFactoryType__","ɵɵdefineInjectable","inject","HttpClient","HttpHeaders","r","request","resp","__spreadProps","__spreadValues","api","userIdentifier","userIdentifiers","mutations","currentPassword","newPassword","forceEmailBrandingPartnerId","nextUrl","nextUrlButtonText","recaptchaToken","emailVerificationToken","requestOtpCode","auxiliaryDataObjectId","pagingOptions","fieldDataUpsertOperations","fieldSchema","identifier","fieldSchemaIdentifiers","filters","fieldMask","ɵɵinject"],"x_google_ignoreList":[0,1,2]}