{"version":3,"sources":["node_modules/@vendasta/iam/fesm2020/vendasta-iam.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(t) {\n return new (t || 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(t) {\n return new (t || 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};\nclass SalespersonPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.sales_person;\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(t) {\n return new (t || 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(t) {\n return new (t || 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(t) {\n return new (t || 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"],"mappings":"gMAmPA,SAASA,EAAsBC,EAAM,CACnC,GAAI,OAAOA,EAAS,IAClB,OAAO,KACF,GAAI,OAAOA,EAAK,gBAAoB,IACzC,OAAOA,EAAK,gBACP,GAAI,OAAOA,EAAK,aAAiB,IACtC,OAAOA,EAAK,aACP,GAAI,OAAOA,EAAK,gBAAoB,IACzC,OAAOA,EAAK,gBACP,GAAI,OAAOA,EAAK,cAAkB,IACvC,OAAOA,EAAK,cACP,GAAI,OAAOA,EAAK,cAAkB,IAAa,CACpD,IAAMC,EAAO,CAAC,EAEd,GAAI,OAAOD,EAAK,cAAc,WAAe,IAE3C,OAAOC,EAET,QAAWC,KAAOF,EAAK,cAAc,WACnCC,EAAK,KAAKF,EAAsBG,CAAG,CAAC,EAEtC,OAAOD,CACT,KAAO,IAAI,OAAOD,EAAK,mBAAuB,IAC5C,OAAOA,EAAK,mBACP,GAAI,OAAOA,EAAK,kBAAsB,IAC3C,OAAOA,EAAK,kBACP,GAAI,OAAOA,EAAK,gBAAoB,IAAa,CACtD,IAAMG,EAAS,CAAC,EAChB,QAAWC,KAAKJ,EAAK,gBAAgB,WAC9BA,EAAK,gBAAgB,WAAW,eAAeI,CAAC,IAIrDD,EAAOE,GAAUD,CAAC,CAAC,EAAIL,EAAsBC,EAAK,gBAAgB,WAAWI,CAAC,CAAC,GAEjF,OAAOD,CACT,EACF,CACA,SAASE,GAAUC,EAAK,CACtB,IAAIH,EAAS,GACb,QAASI,EAAI,EAAGA,EAAID,EAAI,OAAQC,IAC1BD,EAAIC,CAAC,IAAM,KACbJ,GAAUG,EAAIC,EAAI,CAAC,EAAE,YAAY,EACjCA,KAEAJ,GAAUG,EAAIC,CAAC,EAGnB,OAAOJ,CACT,CAoFA,SAASK,GAAYC,EAAS,CAC5B,IAAMC,EAAOC,GAAmBF,EAAQ,OAAO,EAC/C,GAAIC,IAAS,KACX,OAAO,KAET,IAAME,EAAaC,GAAmBH,CAAI,EAC1C,OAAAE,EAAW,YAAYH,CAAO,EACvBG,CACT,CACA,SAASD,GAAmBG,EAAK,CAE/B,OADeA,EAAI,WAAaA,EAAI,WAAW,KAAOA,EAAI,MAAM,KAClD,CACZ,IAAK,UACH,OAAOC,EAAY,QACrB,IAAK,cACH,OAAOA,EAAY,YACrB,IAAK,eACH,OAAOA,EAAY,aACrB,IAAK,MACH,OAAOA,EAAY,IACrB,IAAK,SACH,OAAOA,EAAY,OACrB,IAAK,gBACH,OAAOA,EAAY,cACrB,IAAK,YACH,OAAOA,EAAY,UACrB,IAAK,UACH,OAAOA,EAAY,QACrB,IAAK,gBACH,OAAOA,EAAY,cACrB,IAAK,WACH,OAAOA,EAAY,QACvB,CACA,OAAO,IACT,CACA,SAASF,GAAmBG,EAAa,CACvC,OAAO,GAAI,CACT,QAAWC,EACX,YAAeC,EACf,aAAgBC,EAChB,IAAOC,GACP,OAAUC,GACV,cAAiBC,GACjB,UAAaC,EACb,QAAWC,GACX,cAAiBC,GACjB,SAAYC,EACd,EAAEV,CAAW,CACf,CA8QA,SAASW,GAAoBC,EAASC,EAAO,CAC3C,OAAI,OAAOA,GAAU,SACZA,EAEFD,EAAQC,CAAK,CACtB,CA+PA,SAASC,GAAoBF,EAASC,EAAO,CAC3C,OAAI,OAAOA,GAAU,SACZA,EAEFD,EAAQC,CAAK,CACtB,CAmKA,SAASE,GAAoBH,EAASC,EAAO,CAC3C,OAAI,OAAOA,GAAU,SACZA,EAEFD,EAAQC,CAAK,CACtB,CAokBA,SAASG,EAAkBJ,EAASC,EAAO,CACzC,OAAI,OAAOA,GAAU,SACZA,EAEFD,EAAQC,CAAK,CACtB,CAhrDA,IAKMI,GACAC,GAOFC,GAsBEC,EA8BAC,EAsBAC,EAqBAC,EAyBFC,GA6DAzB,EAaE0B,EAyBAC,EACAC,EA4DApB,EAMAN,EAsBAC,EAMA0B,GAKAzB,EAOAC,GAOAC,GAMAC,GAMAE,GAMAC,GAMAC,GA6DAmB,EA0BAC,EAkFAC,GAuBAC,GAuBAC,EAiCFC,GAMAC,GAWAC,GAaAC,GAKAC,GAWAC,GAYAC,GAMAC,GAkBEC,GAsCAC,GA8BAC,EA2DAC,GAoBAC,GAgCAC,GAuBAC,GAuBAC,GAoFAC,GA4CAC,GA0BAC,GAuBAC,EA0BAC,EA6BAC,EAuBAC,GAwDAC,EAuBAC,EA6BAC,EA6BAC,GAuBAC,EAuBAC,EAiEAC,EAuBAC,EA0BAC,GAyCAC,GAuBAC,GAuBAC,GAuBAC,EAuBAC,EAuGAC,GAuEAC,GAsCAC,GAuBAC,GA6BAC,GA6BAC,GA6BAC,GA6BAC,GAmCAC,GAoBAC,GAgCAC,GAoBAC,GA0BAC,GAuBAC,EAoBAC,GA6BAC,GAoBAC,GA0BAC,GAoBAC,GAuBAC,GAuBAC,GAgCAC,EAoBAC,GA0BAC,GA0BAC,GAoBAC,GAuBAC,GAuBAC,GAgCAC,GAsCAC,EAuBAC,GAiBAC,EAoBAC,GAyCAC,GAmCAC,GAmCAC,EA6BAC,GAmCAC,GA6BAC,GA4CAC,GA6BAC,GAgCAC,GA0BAC,GA6BAC,GAuBAC,GAuBAC,GAmCAC,GAyCAC,GAoBAC,GAmCAC,GA6BAC,GAoBAC,GAuBAC,GAuDAC,GA2DAC,GAmCAC,GAoBAC,GAuBAC,GA0BAC,GAuBAC,GAuBAC,EA4CAC,GA6BAC,GAwBFC,GA0NAC,GAwDAC,GAlvHJC,GAAAC,GAAA,KAAAC,KAEAC,KACAC,KACAA,KACM5H,IAAe,OAAS,OAAO,YAAiB,SAAW,OAC3DC,GAAU,CACd,MAAS,yBACT,KAAQ,GACR,KAAQ,6BACR,KAAQ,6BACR,WAAc,4BAChB,EACIC,IAA4B,IAAM,CACpC,MAAMA,CAAY,CAChB,IAAI,MAAO,CACT,OAAOD,GAAQD,GAAY,YAAY,CAAC,CAC1C,CACA,IAAI,gBAAiB,CACnB,MAAO,WAAa,KAAK,IAC3B,CACF,CACA,OAAAE,EAAY,UAAO,SAA6B2H,EAAG,CACjD,OAAO,IAAKA,GAAK3H,EACnB,EACAA,EAAY,WAA0B4H,EAAmB,CACvD,MAAO5H,EACP,QAASA,EAAY,UACrB,WAAY,MACd,CAAC,EACMA,CACT,GAAG,EAIGC,EAAN,MAAM4H,CAAa,CACjB,OAAO,UAAUC,EAAO,CACtB,GAAI,CAACA,EACH,OAAO,IAAID,EAEb,IAAIE,EAAI,IAAIF,EAEZ,OAAAE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,OAAI,OAAO,KAAK,UAAc,KAAe,OAAO,KAAK,KAAS,KAAe,OAAO,KAAK,MAAU,KAAe,OAAO,KAAK,SAAa,KAAe,OAAO,KAAK,gBAAoB,KAAe,OAAO,KAAK,SAAa,IAC7N,CAAC,EAEH,CACL,UAAa,OAAO,KAAK,UAAc,IAAc,KAAK,UAAY,KACtE,KAAQ,OAAO,KAAK,KAAS,IAAc,KAAK,KAAO,KACvD,MAAS,OAAO,KAAK,MAAU,IAAc,KAAK,MAAQ,KAC1D,SAAY,OAAO,KAAK,SAAa,IAAc,KAAK,SAAW,KACnE,kBAAqB,OAAO,KAAK,gBAAoB,IAAc,KAAK,gBAAkB,KAC1F,SAAY,OAAO,KAAK,SAAa,IAAc,KAAK,SAAW,IACrE,CACF,CACF,EACM9H,EAAN,MAAM+H,CAAc,CAClB,OAAO,UAAUH,EAAO,CAEtB,IAAMC,EAAI,IAAIE,EACd,OAAAF,EAAE,UAAYD,EAAM,WACbC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,OAAI,OAAO,KAAK,UAAc,IACrB,CAAC,EAEH,CACL,UAAa,OAAO,KAAK,UAAc,IAAc,KAAK,UAAY,IACxE,CACF,CACF,EACM7H,EAAN,MAAM+H,CAAe,CACnB,OAAO,UAAUJ,EAAO,CACtB,IAAIC,EAAI,IAAIG,EACZ,OAAAH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,OAAI,OAAO,KAAK,QAAY,IACnB,CAAC,EAEH,CACL,QAAW,OAAO,KAAK,QAAY,IAAc,KAAK,QAAU,IAClE,CACF,CACF,EACM5H,EAAN,MAAM+H,CAAgB,CACpB,OAAO,UAAUL,EAAO,CACtB,IAAIC,EAAI,IAAII,EACZ,OAAAJ,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,OAAI,OAAO,KAAK,QAAY,KAAe,OAAO,KAAK,UAAc,KAAe,OAAO,KAAK,KAAS,IAChG,KAEF,CACL,SAAY,OAAO,KAAK,QAAY,IAAc,KAAK,QAAU,KACjE,UAAa,OAAO,KAAK,UAAc,IAAc,KAAK,UAAY,KACtE,KAAQ,OAAO,KAAK,KAAS,IAAc,KAAK,KAAO,IACzD,CACF,CACF,EAGI3H,IAAkC,IAAM,CAC1C,MAAMA,CAAkB,CACtB,YAAY+H,EAAMC,EAAa,CAC7B,KAAK,KAAOD,EACZ,KAAK,YAAcC,EACnB,KAAK,MAAQ,KAAK,YAAY,cAChC,CACA,WAAWC,EAAoB,CAC7B,OAAIA,EACK,CACL,QAAS,IAAIC,EAAY,CACvB,eAAgB,mCAClB,CAAC,EACD,gBAAiB,EACnB,EAEK,CACL,QAAS,IAAIA,EAAY,CACvB,eAAgB,mCAClB,CAAC,CACH,CACF,CACA,MAAMC,EAAG,CAEP,IAAMC,EAAU,OADED,EAAE,UACiB,IAAcA,EAAI,IAAIvI,EAAauI,CAAC,EACzE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,kBAAmBC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQzI,EAAc,UAAUyI,CAAI,CAAC,EAAGC,EAAM,CAAC,CACxJ,CACA,QAAS,CACP,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,mBAAoB,CAAC,EAAG,KAAK,WAAW,EAAI,CAAC,EAAE,KAAKF,EAAIC,GAAQxI,EAAe,UAAUwI,CAAI,CAAC,EAAGC,EAAM,CAAC,CAC7I,CACA,SAASJ,EAAG,CAEV,IAAMC,EAAU,OADED,EAAE,UACiB,IAAcA,EAAI,IAAIpI,EAAgBoI,CAAC,EACtEK,EAAS,IAAI,gBACbC,EAAUL,EAAQ,UAAU,EAClC,QAAWM,KAAOD,EAAS,CACzB,GAAI,CAACA,EAAQ,eAAeC,CAAG,EAC7B,SAEF,IAAMrJ,EAAQoJ,EAAQC,CAAG,EACrBrJ,IAAU,MAGdmJ,EAAO,OAAOE,EAAKrJ,CAAK,CAC1B,CACA,OAAO,SAAS,KAAO,GAAG,KAAK,KAAK,cAAcmJ,EAAO,SAAS,CAAC,EACrE,CACF,CACA,OAAAxI,EAAkB,UAAO,SAAmCsH,EAAG,CAC7D,OAAO,IAAKA,GAAKtH,GAAsB2I,EAAYC,CAAU,EAAMD,EAAShJ,EAAW,CAAC,CAC1F,EACAK,EAAkB,WAA0BuH,EAAmB,CAC7D,MAAOvH,EACP,QAASA,EAAkB,UAC3B,WAAY,MACd,CAAC,EACMA,CACT,GAAG,EAICzB,EAA2B,SAAUA,EAAa,CACpD,OAAAA,EAAY,QAAa,UACzBA,EAAY,YAAiB,cAC7BA,EAAY,aAAkB,eAC9BA,EAAY,IAAS,MACrBA,EAAY,OAAY,SACxBA,EAAY,cAAmB,gBAC/BA,EAAY,UAAe,YAC3BA,EAAY,QAAa,UACzBA,EAAY,cAAmB,gBAC/BA,EAAY,SAAc,WACnBA,CACT,EAAEA,GAAe,CAAC,CAAC,EACb0B,EAAN,KAAkB,CAChB,YAAY4I,EAAG,CACb,IAAMC,EAAID,EAAE,QACZ,YAAK,UAAYC,EAAE,UACnB,KAAK,MAAQA,EAAE,MACf,KAAK,QAAUA,EAAE,QACjB,KAAK,QAAUA,EAAE,QACjB,KAAK,UAAYA,EAAE,UACnB,KAAK,OAASA,EAAE,OACT,KAAK,eAAeA,EAAE,gBAAgB,CAC/C,CACA,eAAeC,EAAY,CACzB,GAAI,CAACA,EACH,OAAO,KAGT,IAAMC,EAAQzL,EAAsB,CAClC,gBAAiB,CACf,WAAYwL,EAAW,UACzB,CACF,CAAC,EACD,cAAO,OAAO,KAAMC,CAAK,EAClB,IACT,CACF,EACM9I,EAAN,cAA2BD,CAAY,CAAC,EAClCE,EAAN,cAAgCF,CAAY,CAC1C,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,UAAY,EACnB,CACA,YAAY4I,EAAG,CACb,YAAK,UAAYA,EAAE,QAAQ,WAAW,UAC/B,MAAM,YAAYA,CAAC,CAC5B,CACF,EAmDM9J,EAAN,cAA+BmB,CAAa,CAC1C,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO3B,EAAY,SAC1B,CACF,EACME,EAAN,cAA6ByB,CAAa,CACxC,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO3B,EAAY,QACxB,KAAK,aAAe,GACpB,KAAK,QAAU,GACf,KAAK,uBAAyB,GAC9B,KAAK,iBAAmB,GACxB,KAAK,kBAAoB,GACzB,KAAK,mBAAqB,GAC1B,KAAK,eAAiB,GACtB,KAAK,mBAAqB,GAC1B,KAAK,gBAAkB,GACvB,KAAK,mBAAqB,GAC1B,KAAK,gBAAkB,GACvB,KAAK,wBAA0B,GAC/B,KAAK,qBAAuB,GAC5B,KAAK,qBAAuB,GAC5B,KAAK,cAAgB,GACrB,KAAK,uBAAyB,EAChC,CACF,EACMG,EAAN,cAAgCyB,CAAkB,CAChD,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO5B,EAAY,WAC1B,CACF,EACM6B,GAAc,CAClB,gBAAiB,gBACjB,gBAAiB,eACjB,eAAgB,cAClB,EACMzB,EAAN,cAAiCwB,CAAkB,CACjD,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO5B,EAAY,aACxB,KAAK,YAAc6B,GAAY,eACjC,CACF,EACMxB,GAAN,cAAyBuB,CAAkB,CACzC,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO5B,EAAY,IACxB,KAAK,qBAAuB,EAC9B,CACF,EACMM,GAAN,cAA4BqB,CAAa,CACvC,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO3B,EAAY,MAC1B,CACF,EACMO,GAAN,cAAkCoB,CAAa,CAC7C,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO3B,EAAY,aAC1B,CACF,EACMS,GAAN,cAA6BkB,CAAa,CACxC,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO3B,EAAY,OAC1B,CACF,EACMU,GAAN,cAAkCiB,CAAa,CAC7C,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO3B,EAAY,aAC1B,CACF,EACMW,GAAN,cAA6BiB,CAAkB,CAC7C,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO5B,EAAY,QAC1B,CACF,EAwDM8B,EAAN,MAAM4I,CAAU,CACd,OAAO,UAAUxB,EAAO,CACtB,IAAIC,EAAI,IAAIuB,EACZ,OAAAvB,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EAOM5I,EAAN,MAAM6I,CAAU,CACd,OAAO,UAAU1B,EAAO,CACtB,IAAIC,EAAI,IAAIyB,EACZ,OAAAzB,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,eACRC,EAAE,aAAe,SAASD,EAAM,aAAc,EAAE,GAE9CA,EAAM,kBACRC,EAAE,gBAAkBjH,EAAgB,UAAUgH,EAAM,eAAe,GAEjEA,EAAM,gBACRC,EAAE,cAAgBlH,GAAc,UAAUiH,EAAM,aAAa,GAE3DA,EAAM,qBACRC,EAAE,mBAAqB,IAAI,KAAKD,EAAM,kBAAkB,GAEtDA,EAAM,oBACRC,EAAE,kBAAoBnH,GAAkB,UAAUkH,EAAM,iBAAiB,GAEpEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE9B,OAAO,KAAK,gBAAoB,MAClCA,EAAS,gBAAqB,KAAK,iBAEjC,OAAO,KAAK,gBAAoB,MAClCA,EAAS,gBAAqB,KAAK,iBAEjC,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,gBAAoB,KAAe,KAAK,kBAAoB,OAC1EA,EAAS,gBAAqB,cAAe,KAAK,gBAAkB,KAAK,gBAAgB,UAAU,EAAI,KAAK,iBAE1G,OAAO,KAAK,cAAkB,KAAe,KAAK,gBAAkB,OACtEA,EAAS,cAAmB,cAAe,KAAK,cAAgB,KAAK,cAAc,UAAU,EAAI,KAAK,eAEpG,OAAO,KAAK,mBAAuB,KAAe,KAAK,qBAAuB,OAChFA,EAAS,mBAAwB,cAAe,KAAK,mBAAqB,KAAK,mBAAmB,UAAU,EAAI,KAAK,oBAEnH,OAAO,KAAK,kBAAsB,KAAe,KAAK,oBAAsB,OAC9EA,EAAS,kBAAuB,cAAe,KAAK,kBAAoB,KAAK,kBAAkB,UAAU,EAAI,KAAK,mBAE7GA,CACT,CACF,EA2BM3I,GAAN,MAAM6I,CAAkB,CACtB,OAAO,UAAU3B,EAAO,CACtB,IAAIC,EAAI,IAAI0B,EACZ,OAAA1B,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACM1I,GAAN,MAAM6I,CAAc,CAClB,OAAO,UAAU5B,EAAO,CACtB,IAAIC,EAAI,IAAI2B,EACZ,OAAA3B,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAInH,EAAU,SAAS,GAElDoH,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAExFA,CACT,CACF,EACMzI,EAAN,MAAM6I,CAAgB,CACpB,OAAO,UAAU7B,EAAO,CACtB,IAAIC,EAAI,IAAI4B,EACZ,OAAA5B,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,aACRC,EAAE,WAAa,OAAO,KAAKD,EAAM,UAAU,EAAE,OAAO,CAAC8B,EAAKC,KACxDD,EAAIC,CAAC,EAAIlJ,EAAU,UAAUmH,EAAM,WAAW+B,CAAC,CAAC,EACzCD,GACN,CAAC,CAAC,GAEA7B,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAExFA,CACT,CACF,EAQIxI,GAA+B,SAAUA,EAAiB,CAC5D,OAAAA,EAAgBA,EAAgB,IAAS,CAAC,EAAI,MAC9CA,EAAgBA,EAAgB,GAAQ,CAAC,EAAI,KAC7CA,EAAgBA,EAAgB,IAAS,CAAC,EAAI,MACvCA,CACT,EAAEA,IAAmB,CAAC,CAAC,EACnBC,GAA2B,SAAUA,EAAa,CACpD,OAAAA,EAAYA,EAAY,IAAS,CAAC,EAAI,MACtCA,EAAYA,EAAY,IAAS,CAAC,EAAI,MAC/BA,CACT,EAAEA,IAAe,CAAC,CAAC,EAOfC,GAA2B,SAAUA,EAAa,CACpD,OAAAA,EAAYA,EAAY,KAAU,CAAC,EAAI,OACvCA,EAAYA,EAAY,MAAW,CAAC,EAAI,QACxCA,EAAYA,EAAY,OAAY,CAAC,EAAI,SACzCA,EAAYA,EAAY,KAAU,CAAC,EAAI,OAChCA,CACT,EAAEA,IAAe,CAAC,CAAC,EAOfC,GAA6B,SAAUA,EAAe,CACxD,OAAAA,EAAcA,EAAc,qBAA0B,CAAC,EAAI,uBAC3DA,EAAcA,EAAc,qBAA0B,CAAC,EAAI,uBACpDA,CACT,EAAEA,IAAiB,CAAC,CAAC,EACjBC,GAAgC,SAAUA,EAAkB,CAC9D,OAAAA,EAAiBA,EAAiB,UAAe,CAAC,EAAI,YACtDA,EAAiBA,EAAiB,WAAgB,CAAC,EAAI,aAChDA,CACT,EAAEA,IAAoB,CAAC,CAAC,EAOpBC,GAA+B,SAAUA,EAAiB,CAC5D,OAAAA,EAAgBA,EAAgB,uBAA4B,CAAC,EAAI,yBACjEA,EAAgBA,EAAgB,6CAAkD,CAAC,EAAI,+CACvFA,EAAgBA,EAAgB,wBAA6B,CAAC,EAAI,0BAC3DA,CACT,EAAEA,IAAmB,CAAC,CAAC,EAOnBC,GAA6B,SAAUA,EAAe,CACxD,OAAAA,EAAcA,EAAc,uBAA4B,CAAC,EAAI,yBAC7DA,EAAcA,EAAc,yBAA8B,CAAC,EAAI,2BAC/DA,EAAcA,EAAc,0BAA+B,CAAC,EAAI,4BACzDA,CACT,EAAEA,IAAiB,CAAC,CAAC,EACjBC,GAA6B,SAAUA,EAAe,CACxD,OAAAA,EAAcA,EAAc,wBAA6B,CAAC,EAAI,0BAC9DA,EAAcA,EAAc,wBAA6B,CAAC,EAAI,0BAC9DA,EAAcA,EAAc,2BAAgC,CAAC,EAAI,6BACjEA,EAAcA,EAAc,0BAA+B,CAAC,EAAI,4BAChEA,EAAcA,EAAc,sBAA2B,CAAC,EAAI,wBAC5DA,EAAcA,EAAc,2BAAgC,CAAC,EAAI,6BAC1DA,CACT,EAAEA,IAAiB,CAAC,CAAC,EAUfC,GAAN,MAAMuI,CAAS,CACb,OAAO,UAAUhC,EAAO,CACtB,IAAIC,EAAI,IAAI+B,EACZ,OAAA/B,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,yBACRC,EAAE,uBAAyBpH,EAAU,UAAUmH,EAAM,sBAAsB,GAEzEA,EAAM,aACRC,EAAE,WAAatG,EAAW,UAAUqG,EAAM,UAAU,GAElDA,EAAM,aACRC,EAAE,WAAatG,EAAW,UAAUqG,EAAM,UAAU,GAE/CC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,sBAA0B,MACxCA,EAAS,sBAA2B,KAAK,uBAEvC,OAAO,KAAK,uBAA2B,KAAe,KAAK,yBAA2B,OACxFA,EAAS,uBAA4B,cAAe,KAAK,uBAAyB,KAAK,uBAAuB,UAAU,EAAI,KAAK,wBAE/H,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAE3F,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAExFA,CACT,CACF,EACM/H,GAAN,MAAMuI,CAAS,CACb,OAAO,UAAUjC,EAAO,CACtB,IAAIC,EAAI,IAAIgC,EACZ,OAAAhC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EAEtBA,EAAM,WACRC,EAAE,SAAWvI,GAAoBuB,GAAiB+G,EAAM,QAAQ,GAE9DA,EAAM,WACRC,EAAE,SAAWD,EAAM,SAAS,IAAIrG,EAAW,SAAS,GAE/CsG,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,SAAa,KAAe,KAAK,WAAa,OAC5DA,EAAS,SAAc,cAAe,KAAK,SAAW,KAAK,SAAS,UAAU,EAAI,KAAK,UAElFA,CACT,CACF,EACM9H,EAAN,MAAMuI,CAAW,CACf,OAAO,UAAUlC,EAAO,CACtB,IAAIC,EAAI,IAAIiC,EACZ,OAAAjC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,8BACRC,EAAE,4BAA8BnG,GAAkC,UAAUkG,EAAM,2BAA2B,GAE3GA,EAAM,WACRC,EAAE,SAAWvG,GAAS,UAAUsG,EAAM,QAAQ,GAE5CA,EAAM,2BACRC,EAAE,yBAA2BjG,GAA+B,UAAUgG,EAAM,wBAAwB,GAElGA,EAAM,sBACRC,EAAE,oBAAsBrG,GAA0B,UAAUoG,EAAM,mBAAmB,GAEnFA,EAAM,wBACRC,EAAE,sBAAwBlG,GAA4B,UAAUiG,EAAM,qBAAqB,GAEzFA,EAAM,qBACRC,EAAE,mBAAqBpG,GAAyB,UAAUmG,EAAM,kBAAkB,GAEhFA,EAAM,WACRC,EAAE,SAAWxG,GAAS,UAAUuG,EAAM,QAAQ,GAEzCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,4BAAgC,KAAe,KAAK,8BAAgC,OAClGA,EAAS,4BAAiC,cAAe,KAAK,4BAA8B,KAAK,4BAA4B,UAAU,EAAI,KAAK,6BAE9I,OAAO,KAAK,SAAa,KAAe,KAAK,WAAa,OAC5DA,EAAS,SAAc,cAAe,KAAK,SAAW,KAAK,SAAS,UAAU,EAAI,KAAK,UAErF,OAAO,KAAK,yBAA6B,KAAe,KAAK,2BAA6B,OAC5FA,EAAS,yBAA8B,cAAe,KAAK,yBAA2B,KAAK,yBAAyB,UAAU,EAAI,KAAK,0BAErI,OAAO,KAAK,oBAAwB,KAAe,KAAK,sBAAwB,OAClFA,EAAS,oBAAyB,cAAe,KAAK,oBAAsB,KAAK,oBAAoB,UAAU,EAAI,KAAK,qBAEtH,OAAO,KAAK,sBAA0B,KAAe,KAAK,wBAA0B,OACtFA,EAAS,sBAA2B,cAAe,KAAK,sBAAwB,KAAK,sBAAsB,UAAU,EAAI,KAAK,uBAE5H,OAAO,KAAK,mBAAuB,KAAe,KAAK,qBAAuB,OAChFA,EAAS,mBAAwB,cAAe,KAAK,mBAAqB,KAAK,mBAAmB,UAAU,EAAI,KAAK,oBAEnH,OAAO,KAAK,SAAa,KAAe,KAAK,WAAa,OAC5DA,EAAS,SAAc,cAAe,KAAK,SAAW,KAAK,SAAS,UAAU,EAAI,KAAK,UAElFA,CACT,CACF,EACM7H,GAAN,MAAMuI,CAA0B,CAC9B,OAAO,UAAUnC,EAAO,CACtB,IAAIC,EAAI,IAAIkC,EACZ,OAAAlC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE5BA,CACT,CACF,EACM5H,GAAN,MAAMuI,CAAyB,CAC7B,OAAO,UAAUpC,EAAO,CACtB,IAAIC,EAAI,IAAImC,EACZ,OAAAnC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,WACRC,EAAE,SAAWvI,GAAoBwB,GAAa8G,EAAM,QAAQ,GAE1DA,EAAM,QACRC,EAAE,MAAQtG,EAAW,UAAUqG,EAAM,KAAK,GAErCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,MAAU,KAAe,KAAK,QAAU,OACtDA,EAAS,MAAW,cAAe,KAAK,MAAQ,KAAK,MAAM,UAAU,EAAI,KAAK,OAEzEA,CACT,CACF,EACM3H,GAAN,MAAMuI,CAAkC,CACtC,OAAO,UAAUrC,EAAO,CACtB,IAAIC,EAAI,IAAIoC,EACZ,OAAApC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,sBAA0B,MACxCA,EAAS,sBAA2B,KAAK,uBAEpCA,CACT,CACF,EACM1H,GAAN,MAAMuI,CAA4B,CAChC,OAAO,UAAUtC,EAAO,CACtB,IAAIC,EAAI,IAAIqC,EACZ,OAAArC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,sBAA0B,MACxCA,EAAS,sBAA2B,KAAK,uBAEpCA,CACT,CACF,EACMzH,GAAN,MAAMuI,CAA+B,CACnC,OAAO,UAAUvC,EAAO,CACtB,IAAIC,EAAI,IAAIsC,EACZ,OAAAtC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,2BACRC,EAAE,yBAA2BpH,EAAU,UAAUmH,EAAM,wBAAwB,GAE1EC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,eAAmB,MACjCA,EAAS,eAAoB,KAAK,gBAEhC,OAAO,KAAK,yBAA6B,KAAe,KAAK,2BAA6B,OAC5FA,EAAS,yBAA8B,cAAe,KAAK,yBAA2B,KAAK,yBAAyB,UAAU,EAAI,KAAK,0BAElIA,CACT,CACF,EAwDMxH,GAAN,MAAMuI,CAAO,CACX,OAAO,UAAUxC,EAAO,CACtB,IAAIC,EAAI,IAAIuC,EACZ,OAAAvC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAIyC,GAAK5K,GAAoBsB,GAAasJ,CAAC,CAAC,GAE1EzC,EAAM,SACRC,EAAE,OAAStG,EAAW,UAAUqG,EAAM,MAAM,GAEvCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,OAAW,KAAe,KAAK,SAAW,OACxDA,EAAS,OAAY,cAAe,KAAK,OAAS,KAAK,OAAO,UAAU,EAAI,KAAK,QAE5EA,CACT,CACF,EACMvH,GAAN,MAAMwI,CAAmB,CACvB,OAAO,UAAU1C,EAAO,CACtB,IAAIC,EAAI,IAAIyC,EACZ,OAAAzC,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,cACRC,EAAE,YAAc,OAAO,KAAKD,EAAM,WAAW,EAAE,OAAO,CAAC8B,EAAKC,KAC1DD,EAAIC,CAAC,EAAI3H,EAAU,UAAU4F,EAAM,YAAY+B,CAAC,CAAC,EAC1CD,GACN,CAAC,CAAC,GAEA7B,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,YAAgB,KAAe,KAAK,cAAgB,OAClEA,EAAS,YAAiB,cAAe,KAAK,YAAc,KAAK,YAAY,UAAU,EAAI,KAAK,aAE3FA,CACT,CACF,EACMtH,GAAN,MAAMwI,CAAc,CAClB,OAAO,UAAU3C,EAAO,CACtB,IAAIC,EAAI,IAAI0C,EACZ,OAAA1C,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACMrH,EAAN,MAAMwI,CAAU,CACd,OAAO,UAAU5C,EAAO,CACtB,IAAIC,EAAI,IAAI2C,EACZ,OAAA3C,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAErBA,CACT,CACF,EAOMpH,EAAN,MAAMwI,CAAQ,CACZ,OAAO,UAAU7C,EAAO,CACtB,IAAIC,EAAI,IAAI4C,EACZ,OAAA5C,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,aACRC,EAAE,WAAazF,EAAkB,UAAUwF,EAAM,UAAU,GAEzDA,EAAM,QACRC,EAAE,MAAQlF,EAAa,UAAUiF,EAAM,KAAK,GAEvCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAE3F,OAAO,KAAK,MAAU,KAAe,KAAK,QAAU,OACtDA,EAAS,MAAW,cAAe,KAAK,MAAQ,KAAK,MAAM,UAAU,EAAI,KAAK,OAEzEA,CACT,CACF,EACMnH,EAAN,MAAMwI,CAAoB,CACxB,OAAO,UAAU9C,EAAO,CACtB,IAAIC,EAAI,IAAI6C,EACZ,OAAA7C,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,IAAQ,MACtBA,EAAS,IAAS,KAAK,KAErB,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAErBA,CACT,CACF,EACMlH,GAAN,MAAMwI,CAAS,CACb,OAAO,UAAU/C,EAAO,CACtB,IAAIC,EAAI,IAAI8C,EACZ,OAAA9C,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,MACRC,EAAE,IAAMrF,EAAqB,UAAUoF,EAAM,GAAG,GAE9CA,EAAM,UACRC,EAAE,QAAU3F,EAAoB,UAAU0F,EAAM,OAAO,GAErDA,EAAM,SACRC,EAAE,OAASrF,EAAqB,UAAUoF,EAAM,MAAM,GAEpDA,EAAM,oBACRC,EAAE,kBAAoBjH,EAAgB,UAAUgH,EAAM,iBAAiB,GAErEA,EAAM,gBACRC,EAAE,cAAgBjH,EAAgB,UAAUgH,EAAM,aAAa,GAE7DA,EAAM,mBACRC,EAAE,iBAAmBjH,EAAgB,UAAUgH,EAAM,gBAAgB,GAEhEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,IAAQ,KAAe,KAAK,MAAQ,OAClDA,EAAS,IAAS,cAAe,KAAK,IAAM,KAAK,IAAI,UAAU,EAAI,KAAK,KAEtE,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,OAAW,KAAe,KAAK,SAAW,OACxDA,EAAS,OAAY,cAAe,KAAK,OAAS,KAAK,OAAO,UAAU,EAAI,KAAK,QAE/E,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,kBAAsB,KAAe,KAAK,oBAAsB,OAC9EA,EAAS,kBAAuB,cAAe,KAAK,kBAAoB,KAAK,kBAAkB,UAAU,EAAI,KAAK,mBAEhH,OAAO,KAAK,cAAkB,KAAe,KAAK,gBAAkB,OACtEA,EAAS,cAAmB,cAAe,KAAK,cAAgB,KAAK,cAAc,UAAU,EAAI,KAAK,eAEpG,OAAO,KAAK,iBAAqB,KAAe,KAAK,mBAAqB,OAC5EA,EAAS,iBAAsB,cAAe,KAAK,iBAAmB,KAAK,iBAAiB,UAAU,EAAI,KAAK,kBAE1GA,CACT,CACF,EACMjH,EAAN,MAAMwI,CAAkB,CACtB,OAAO,UAAUhD,EAAO,CACtB,IAAIC,EAAI,IAAI+C,EACZ,OAAA/C,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,KAAS,MACvBA,EAAS,KAAU,KAAK,MAEnBA,CACT,CACF,EACMhH,EAAN,MAAMwI,CAAQ,CACZ,OAAO,UAAUjD,EAAO,CACtB,IAAIC,EAAI,IAAIgD,EACZ,OAAAhD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAUpF,EAAQ,UAAUmF,EAAM,OAAO,GAEzCA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAE/EA,CACT,CACF,EACM/G,EAAN,MAAMwI,CAAU,CACd,OAAO,UAAUlD,EAAO,CACtB,IAAIC,EAAI,IAAIiD,EACZ,OAAAjD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,gBACRC,EAAE,cAAgBnI,GAAoBsB,GAAe4G,EAAM,aAAa,GAEnEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,IAAQ,MACtBA,EAAS,IAAS,KAAK,KAErB,OAAO,KAAK,GAAO,MACrBA,EAAS,GAAQ,KAAK,IAEpB,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE5BA,CACT,CACF,EACM9G,GAAN,MAAMwI,CAAM,CACV,OAAO,UAAUnD,EAAO,CACtB,IAAIC,EAAI,IAAIkD,EACZ,OAAAlD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE5BA,CACT,CACF,EACM7G,EAAN,MAAMwI,CAAqB,CACzB,OAAO,UAAUpD,EAAO,CACtB,IAAIC,EAAI,IAAImD,EACZ,OAAAnD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,IAAQ,MACtBA,EAAS,IAAS,KAAK,KAErB,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACM5G,EAAN,MAAMwI,CAAQ,CACZ,OAAO,UAAUrD,EAAO,CACtB,IAAIC,EAAI,IAAIoD,EACZ,OAAApD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAI1F,EAAoB,SAAS,GAE/D0F,EAAM,UACRC,EAAE,QAAU,IAAI,KAAKD,EAAM,OAAO,GAEhCA,EAAM,UACRC,EAAE,QAAU,IAAI,KAAKD,EAAM,OAAO,GAEhCA,EAAM,YACRC,EAAE,UAAY,IAAI,KAAKD,EAAM,SAAS,GAEpCA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAItF,EAAU,SAAS,GAErDsF,EAAM,mBACRC,EAAE,iBAAmBjH,EAAgB,UAAUgH,EAAM,gBAAgB,GAEhEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAE3F,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,KAAe,KAAK,YAAc,OAC9DA,EAAS,UAAe,cAAe,KAAK,UAAY,KAAK,UAAU,UAAU,EAAI,KAAK,WAExF,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAE3F,OAAO,KAAK,iBAAqB,KAAe,KAAK,mBAAqB,OAC5EA,EAAS,iBAAsB,cAAe,KAAK,iBAAmB,KAAK,iBAAiB,UAAU,EAAI,KAAK,kBAE1GA,CACT,CACF,EACM3G,EAAN,MAAMwI,CAAc,CAClB,OAAO,UAAUtD,EAAO,CACtB,IAAIC,EAAI,IAAIqD,EACZ,OAAArD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAUpF,EAAQ,UAAUmF,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAE/EA,CACT,CACF,EACM1G,EAAN,MAAMwI,CAAa,CACjB,OAAO,UAAUvD,EAAO,CACtB,IAAIC,EAAI,IAAIsD,EACZ,OAAAtD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,KAAS,MACvBA,EAAS,KAAU,KAAK,MAEnBA,CACT,CACF,EAOMzG,GAAN,MAAMwI,CAAY,CAChB,OAAO,UAAUxD,EAAO,CACtB,IAAIC,EAAI,IAAIuD,EACZ,OAAAvD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU,IAAI,KAAKD,EAAM,OAAO,GAE7BC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,YAAgB,MAC9BA,EAAS,YAAiB,KAAK,aAE7B,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAE/EA,CACT,CACF,EAOMxG,GAAN,MAAMwI,CAAW,CACf,OAAO,UAAUzD,EAAO,CACtB,IAAIC,EAAI,IAAIwD,EACZ,OAAAxD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAErBA,CACT,CACF,EACMvG,GAAN,MAAMwI,CAAgB,CACpB,OAAO,UAAU1D,EAAO,CACtB,IAAIC,EAAI,IAAIyD,EACZ,OAAAzD,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACMtG,GAAN,MAAMwI,CAAkB,CACtB,OAAO,UAAU3D,EAAO,CACtB,IAAIC,EAAI,IAAI0D,EACZ,OAAA1D,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACMrG,EAAN,MAAMwI,CAAwB,CAC5B,OAAO,UAAU5D,EAAO,CACtB,IAAIC,EAAI,IAAI2D,EACZ,OAAA3D,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,eAAmB,MACjCA,EAAS,eAAoB,KAAK,gBAEhC,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAEzBA,CACT,CACF,EACMpG,EAAN,MAAMwI,CAAK,CACT,OAAO,UAAU7D,EAAO,CACtB,IAAIC,EAAI,IAAI4D,EACZ,OAAA5D,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU,IAAI,KAAKD,EAAM,OAAO,GAEhCA,EAAM,UACRC,EAAE,QAAU,IAAI,KAAKD,EAAM,OAAO,GAEhCA,EAAM,YACRC,EAAE,UAAY,IAAI,KAAKD,EAAM,SAAS,GAEpCA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAItF,EAAU,SAAS,GAElDuF,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE9B,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE9B,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,UAAc,KAAe,KAAK,YAAc,OAC9DA,EAAS,UAAe,cAAe,KAAK,UAAY,KAAK,UAAU,UAAU,EAAI,KAAK,WAExF,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAExFA,CACT,CACF,EAoCMnG,GAAN,MAAMwI,CAAsB,CAC1B,OAAO,UAAU9D,EAAO,CACtB,IAAIC,EAAI,IAAI6D,EACZ,OAAA7D,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,2BACRC,EAAE,yBAA2B,OAAO,KAAKD,EAAM,wBAAwB,EAAE,OAAO,CAAC8B,EAAKC,KACpFD,EAAIC,CAAC,EAAI3H,EAAU,UAAU4F,EAAM,yBAAyB+B,CAAC,CAAC,EACvDD,GACN,CAAC,CAAC,GAEH9B,EAAM,cACRC,EAAE,YAAcD,EAAM,YAAY,IAAIyC,GAAK1K,EAAkBoB,GAAasJ,CAAC,CAAC,GAE1EzC,EAAM,4BACRC,EAAE,0BAA4BD,EAAM,0BAA0B,IAAI9F,GAAmB,SAAS,GAE5F8F,EAAM,qBACRC,EAAE,mBAAqBjH,EAAgB,UAAUgH,EAAM,kBAAkB,GAEpEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,yBAA6B,KAAe,KAAK,2BAA6B,OAC5FA,EAAS,yBAA8B,cAAe,KAAK,yBAA2B,KAAK,yBAAyB,UAAU,EAAI,KAAK,0BAErI,OAAO,KAAK,YAAgB,MAC9BA,EAAS,YAAiB,KAAK,aAE7B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,0BAA8B,KAAe,KAAK,4BAA8B,OAC9FA,EAAS,0BAA+B,cAAe,KAAK,0BAA4B,KAAK,0BAA0B,UAAU,EAAI,KAAK,2BAExI,OAAO,KAAK,mBAAuB,KAAe,KAAK,qBAAuB,OAChFA,EAAS,mBAAwB,cAAe,KAAK,mBAAqB,KAAK,mBAAmB,UAAU,EAAI,KAAK,oBAEhHA,CACT,CACF,EACMlG,GAAN,MAAMwI,CAAc,CAClB,OAAO,UAAU/D,EAAO,CACtB,IAAIC,EAAI,IAAI8D,EACZ,OAAA9D,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,gBACRC,EAAE,cAAgBlI,EAAkBqB,GAAe4G,EAAM,aAAa,GAEpEA,EAAM,iBACRC,EAAE,eAAiBf,EAAe,UAAUc,EAAM,cAAc,GAE3DC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,cAAkB,MAChCA,EAAS,cAAmB,KAAK,eAE/B,OAAO,KAAK,eAAmB,KAAe,KAAK,iBAAmB,OACxEA,EAAS,eAAoB,cAAe,KAAK,eAAiB,KAAK,eAAe,UAAU,EAAI,KAAK,gBAEpGA,CACT,CACF,EACMjG,GAAN,MAAMwI,CAAe,CACnB,OAAO,UAAUhE,EAAO,CACtB,IAAIC,EAAI,IAAI+D,EACZ,OAAA/D,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACMhG,GAAN,MAAMwI,CAA+B,CACnC,OAAO,UAAUjE,EAAO,CACtB,IAAIC,EAAI,IAAIgE,EACZ,OAAAhE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,kBACRC,EAAE,gBAAkBD,EAAM,gBAAgB,IAAId,EAAe,SAAS,GAEpEc,EAAM,kBACRC,EAAE,gBAAkBlI,EAAkBuB,GAAiB0G,EAAM,eAAe,GAEvEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,gBAAoB,KAAe,KAAK,kBAAoB,OAC1EA,EAAS,gBAAqB,cAAe,KAAK,gBAAkB,KAAK,gBAAgB,UAAU,EAAI,KAAK,iBAE1G,OAAO,KAAK,gBAAoB,MAClCA,EAAS,gBAAqB,KAAK,iBAE9BA,CACT,CACF,EACM/F,GAAN,MAAMwI,CAA2B,CAC/B,OAAO,UAAUlE,EAAO,CACtB,IAAIC,EAAI,IAAIiE,EACZ,OAAAjE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAEvBA,CACT,CACF,EACM9F,GAAN,MAAMwI,CAA0B,CAC9B,OAAO,UAAUnE,EAAO,CACtB,IAAIC,EAAI,IAAIkE,EACZ,OAAAlE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAEvBA,CACT,CACF,EACM7F,GAAN,MAAMwI,CAAwB,CAC5B,OAAO,UAAUpE,EAAO,CACtB,IAAIC,EAAI,IAAImE,EACZ,OAAAnE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,iBACRC,EAAE,eAAiBf,EAAe,UAAUc,EAAM,cAAc,GAE9DA,EAAM,0BACRC,EAAE,wBAA0B7E,EAAwB,UAAU4E,EAAM,uBAAuB,GAEtFC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,eAAmB,KAAe,KAAK,iBAAmB,OACxEA,EAAS,eAAoB,cAAe,KAAK,eAAiB,KAAK,eAAe,UAAU,EAAI,KAAK,gBAEvG,OAAO,KAAK,wBAA4B,KAAe,KAAK,0BAA4B,OAC1FA,EAAS,wBAA6B,cAAe,KAAK,wBAA0B,KAAK,wBAAwB,UAAU,EAAI,KAAK,yBAE/HA,CACT,CACF,EACM5F,GAAN,MAAMwI,CAAqB,CACzB,OAAO,UAAUrE,EAAO,CACtB,IAAIC,EAAI,IAAIoE,EACZ,OAAApE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,mBACRC,EAAE,iBAAmBlC,GAAiB,UAAUiC,EAAM,gBAAgB,GAEpEA,EAAM,qBACRC,EAAE,mBAAqBnB,GAAmB,UAAUkB,EAAM,kBAAkB,GAEvEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,iBAAqB,KAAe,KAAK,mBAAqB,OAC5EA,EAAS,iBAAsB,cAAe,KAAK,iBAAmB,KAAK,iBAAiB,UAAU,EAAI,KAAK,kBAE7G,OAAO,KAAK,mBAAuB,KAAe,KAAK,qBAAuB,OAChFA,EAAS,mBAAwB,cAAe,KAAK,mBAAqB,KAAK,mBAAmB,UAAU,EAAI,KAAK,oBAEhHA,CACT,CACF,EACM3F,GAAN,MAAMwI,CAAsB,CAC1B,OAAO,UAAUtE,EAAO,CACtB,IAAIC,EAAI,IAAIqE,EACZ,OAAArE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACM1F,GAAN,MAAMwI,CAA8B,CAClC,OAAO,UAAUvE,EAAO,CACtB,IAAIC,EAAI,IAAIsE,EACZ,OAAAtE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,aACRC,EAAE,WAAajH,EAAgB,UAAUgH,EAAM,UAAU,GAEpDC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAExFA,CACT,CACF,EACMzF,GAAN,MAAMwI,CAA+B,CACnC,OAAO,UAAUxE,EAAO,CACtB,IAAIC,EAAI,IAAIuE,EACZ,OAAAvE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACMxF,GAAN,MAAMwI,CAAqB,CACzB,OAAO,UAAUzE,EAAO,CACtB,IAAIC,EAAI,IAAIwE,EACZ,OAAAxE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACMvF,GAAN,MAAMwI,CAAkB,CACtB,OAAO,UAAU1E,EAAO,CACtB,IAAIC,EAAI,IAAIyE,EACZ,OAAAzE,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,iBACRC,EAAE,eAAiBf,EAAe,UAAUc,EAAM,cAAc,GAE3DC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,eAAmB,KAAe,KAAK,iBAAmB,OACxEA,EAAS,eAAoB,cAAe,KAAK,eAAiB,KAAK,eAAe,UAAU,EAAI,KAAK,gBAEpGA,CACT,CACF,EACMtF,EAAN,MAAMwI,CAA+B,CACnC,OAAO,UAAU3E,EAAO,CACtB,IAAIC,EAAI,IAAI0E,EACZ,OAAA1E,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAEvBA,CACT,CACF,EACMrF,GAAN,MAAMwI,CAA6B,CACjC,OAAO,UAAU5E,EAAO,CACtB,IAAIC,EAAI,IAAI2E,EACZ,OAAA3E,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,eACRC,EAAE,aAAef,EAAe,UAAUc,EAAM,YAAY,GAE1DA,EAAM,eACRC,EAAE,aAAef,EAAe,UAAUc,EAAM,YAAY,GAEvDC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,aAAiB,KAAe,KAAK,eAAiB,OACpEA,EAAS,aAAkB,cAAe,KAAK,aAAe,KAAK,aAAa,UAAU,EAAI,KAAK,cAEjG,OAAO,KAAK,aAAiB,KAAe,KAAK,eAAiB,OACpEA,EAAS,aAAkB,cAAe,KAAK,aAAe,KAAK,aAAa,UAAU,EAAI,KAAK,cAE9FA,CACT,CACF,EACMpF,GAAN,MAAMwI,CAA8B,CAClC,OAAO,UAAU7E,EAAO,CACtB,IAAIC,EAAI,IAAI4E,EACZ,OAAA5E,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACMnF,GAAN,MAAMwI,CAA0B,CAC9B,OAAO,UAAU9E,EAAO,CACtB,IAAIC,EAAI,IAAI6E,EACZ,OAAA7E,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,kBACRC,EAAE,gBAAkBD,EAAM,gBAAgB,IAAId,EAAe,SAAS,GAEjEe,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,gBAAoB,KAAe,KAAK,kBAAoB,OAC1EA,EAAS,gBAAqB,cAAe,KAAK,gBAAkB,KAAK,gBAAgB,UAAU,EAAI,KAAK,iBAE1G,OAAO,KAAK,eAAmB,MACjCA,EAAS,eAAoB,KAAK,gBAE7BA,CACT,CACF,EACMlF,GAAN,MAAMwI,CAA2B,CAC/B,OAAO,UAAU/E,EAAO,CACtB,IAAIC,EAAI,IAAI8E,EACZ,OAAA9E,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,YAAgB,MAC9BA,EAAS,YAAiB,KAAK,aAE1BA,CACT,CACF,EACMjF,GAAN,MAAMwI,CAAqB,CACzB,OAAO,UAAUhF,EAAO,CACtB,IAAIC,EAAI,IAAI+E,EACZ,OAAA/E,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,kBACRC,EAAE,gBAAkBD,EAAM,gBAAgB,IAAId,EAAe,SAAS,GAEjEe,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,gBAAoB,KAAe,KAAK,kBAAoB,OAC1EA,EAAS,gBAAqB,cAAe,KAAK,gBAAkB,KAAK,gBAAgB,UAAU,EAAI,KAAK,iBAEvGA,CACT,CACF,EACMhF,GAAN,MAAMwI,CAAsB,CAC1B,OAAO,UAAUjF,EAAO,CACtB,IAAIC,EAAI,IAAIgF,EACZ,OAAAhF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,QACRC,EAAE,MAAQD,EAAM,MAAM,IAAIhB,GAAmC,SAAS,GAEjEiB,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,KAAe,KAAK,QAAU,OACtDA,EAAS,MAAW,cAAe,KAAK,MAAQ,KAAK,MAAM,UAAU,EAAI,KAAK,OAEzEA,CACT,CACF,EACM/E,GAAN,MAAMwI,CAA6B,CACjC,OAAO,UAAUlF,EAAO,CACtB,IAAIC,EAAI,IAAIiF,EACZ,OAAAjF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,iBACRC,EAAE,eAAiBf,EAAe,UAAUc,EAAM,cAAc,GAE3DC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,eAAmB,KAAe,KAAK,iBAAmB,OACxEA,EAAS,eAAoB,cAAe,KAAK,eAAiB,KAAK,eAAe,UAAU,EAAI,KAAK,gBAEpGA,CACT,CACF,EACM9E,EAAN,MAAMwI,CAAuB,CAC3B,OAAO,UAAUnF,EAAO,CACtB,IAAIC,EAAI,IAAIkF,EACZ,OAAAlF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACM7E,GAAN,MAAMwI,CAA0B,CAC9B,OAAO,UAAUpF,EAAO,CACtB,IAAIC,EAAI,IAAImF,EACZ,OAAAnF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACM5E,GAAN,MAAMwI,CAA2B,CAC/B,OAAO,UAAUrF,EAAO,CACtB,IAAIC,EAAI,IAAIoF,EACZ,OAAApF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAE/EA,CACT,CACF,EACM3E,GAAN,MAAMwI,CAAyB,CAC7B,OAAO,UAAUtF,EAAO,CACtB,IAAIC,EAAI,IAAIqF,EACZ,OAAArF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACM1E,GAAN,MAAMwI,CAA0B,CAC9B,OAAO,UAAUvF,EAAO,CACtB,IAAIC,EAAI,IAAIsF,EACZ,OAAAtF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAE/EA,CACT,CACF,EACMzE,GAAN,MAAMwI,CAAmB,CACvB,OAAO,UAAUxF,EAAO,CACtB,IAAIC,EAAI,IAAIuF,EACZ,OAAAvF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAUnF,EAAc,UAAUkF,EAAM,OAAO,GAE5CC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAE/EA,CACT,CACF,EACMxE,GAAN,MAAMwI,CAA0B,CAC9B,OAAO,UAAUzF,EAAO,CACtB,IAAIC,EAAI,IAAIwF,EACZ,OAAAxF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,YACRC,EAAE,UAAYrH,EAAU,UAAUoH,EAAM,SAAS,GAE5CC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,UAAc,KAAe,KAAK,YAAc,OAC9DA,EAAS,UAAe,cAAe,KAAK,UAAY,KAAK,UAAU,UAAU,EAAI,KAAK,WAErFA,CACT,CACF,EACMvE,GAAN,MAAMwI,CAAmB,CACvB,OAAO,UAAU1F,EAAO,CACtB,IAAIC,EAAI,IAAIyF,EACZ,OAAAzF,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,YACRC,EAAE,UAAYrH,EAAU,UAAUoH,EAAM,SAAS,GAE/CA,EAAM,cACRC,EAAE,YAAcD,EAAM,YAAY,IAAI/E,GAAW,SAAS,GAErDgF,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,UAAc,KAAe,KAAK,YAAc,OAC9DA,EAAS,UAAe,cAAe,KAAK,UAAY,KAAK,UAAU,UAAU,EAAI,KAAK,WAExF,OAAO,KAAK,YAAgB,KAAe,KAAK,cAAgB,OAClEA,EAAS,YAAiB,cAAe,KAAK,YAAc,KAAK,YAAY,UAAU,EAAI,KAAK,aAE3FA,CACT,CACF,EACMtE,EAAN,MAAMwI,CAAoB,CACxB,OAAO,UAAU3F,EAAO,CACtB,IAAIC,EAAI,IAAI0F,EACZ,OAAA1F,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,WACRC,EAAE,SAAWD,EAAM,SAAS,IAAIlF,EAAc,SAAS,GAElDmF,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,SAAa,KAAe,KAAK,WAAa,OAC5DA,EAAS,SAAc,cAAe,KAAK,SAAW,KAAK,SAAS,UAAU,EAAI,KAAK,UAElFA,CACT,CACF,EACMrE,GAAN,MAAMwI,CAAgB,CACpB,OAAO,UAAU5F,EAAO,CACtB,IAAIC,EAAI,IAAI2F,EACZ,OAAA3F,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CAEV,MADiB,CAAC,CAEpB,CACF,EACM7C,EAAN,MAAMwI,CAAiB,CACrB,OAAO,UAAU7F,EAAO,CACtB,IAAIC,EAAI,IAAI4F,EACZ,OAAA5F,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACMnE,GAAN,MAAMwI,CAAuB,CAC3B,OAAO,UAAU9F,EAAO,CACtB,IAAIC,EAAI,IAAI6F,EACZ,OAAA7F,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,iBACRC,EAAE,eAAiBf,EAAe,UAAUc,EAAM,cAAc,GAE9DA,EAAM,WACRC,EAAE,SAAW,SAASD,EAAM,SAAU,EAAE,GAEnCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,eAAmB,KAAe,KAAK,iBAAmB,OACxEA,EAAS,eAAoB,cAAe,KAAK,eAAiB,KAAK,eAAe,UAAU,EAAI,KAAK,gBAEvG,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,KAAS,MACvBA,EAAS,KAAU,KAAK,MAEtB,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,wBAA4B,MAC1CA,EAAS,wBAA6B,KAAK,yBAEtCA,CACT,CACF,EACMlE,GAAN,MAAMwI,CAA2B,CAC/B,OAAO,UAAU/F,EAAO,CACtB,IAAIC,EAAI,IAAI8F,EACZ,OAAA9F,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,WACRC,EAAE,SAAW,SAASD,EAAM,SAAU,EAAE,GAEnCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,KAAS,MACvBA,EAAS,KAAU,KAAK,MAEtB,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACMjE,GAAN,MAAMwI,CAAoB,CACxB,OAAO,UAAUhG,EAAO,CACtB,IAAIC,EAAI,IAAI+F,EACZ,OAAA/F,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,WACRC,EAAE,SAAW,SAASD,EAAM,SAAU,EAAE,GAEnCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,KAAS,MACvBA,EAAS,KAAU,KAAK,MAEtB,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACMhE,EAAN,MAAMwI,CAAqB,CACzB,OAAO,UAAUjG,EAAO,CACtB,IAAIC,EAAI,IAAIgG,EACZ,OAAAhG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,WACRC,EAAE,SAAWD,EAAM,SAAS,IAAIvF,EAAQ,SAAS,GAE5CwF,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,SAAa,KAAe,KAAK,WAAa,OAC5DA,EAAS,SAAc,cAAe,KAAK,SAAW,KAAK,SAAS,UAAU,EAAI,KAAK,UAErF,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACM/D,GAAN,MAAMwI,CAAwB,CAC5B,OAAO,UAAUlG,EAAO,CACtB,IAAIC,EAAI,IAAIiG,EACZ,OAAAjG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU9D,EAA+B,UAAU6D,EAAM,OAAO,GAEhEA,EAAM,WACRC,EAAE,SAAW,SAASD,EAAM,SAAU,EAAE,GAEnCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAErBA,CACT,CACF,EACM9D,GAAN,MAAMwI,CAAyB,CAC7B,OAAO,UAAUnG,EAAO,CACtB,IAAIC,EAAI,IAAIkG,EACZ,OAAAlG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,OACRC,EAAE,KAAOD,EAAM,KAAK,IAAIhF,GAAY,SAAS,GAExCiF,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,KAAS,KAAe,KAAK,OAAS,OACpDA,EAAS,KAAU,cAAe,KAAK,KAAO,KAAK,KAAK,UAAU,EAAI,KAAK,MAEzE,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACM7D,GAAN,MAAMwI,CAAiB,CACrB,OAAO,UAAUpG,EAAO,CACtB,IAAIC,EAAI,IAAImG,EACZ,OAAAnG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,WACRC,EAAE,SAAW,SAASD,EAAM,SAAU,EAAE,GAEtCA,EAAM,aACRC,EAAE,WAAahB,GAAW,UAAUe,EAAM,UAAU,GAElDA,EAAM,cACRC,EAAE,YAAcD,EAAM,YAAY,IAAIb,GAAgB,SAAS,GAE1Dc,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAE3F,OAAO,KAAK,YAAgB,KAAe,KAAK,cAAgB,OAClEA,EAAS,YAAiB,cAAe,KAAK,YAAc,KAAK,YAAY,UAAU,EAAI,KAAK,aAE3FA,CACT,CACF,EACM5D,GAAN,MAAMwI,CAAkB,CACtB,OAAO,UAAUrG,EAAO,CACtB,IAAIC,EAAI,IAAIoG,EACZ,OAAApG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,QACRC,EAAE,MAAQD,EAAM,MAAM,IAAI3E,EAAK,SAAS,GAEnC4E,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,KAAe,KAAK,QAAU,OACtDA,EAAS,MAAW,cAAe,KAAK,MAAQ,KAAK,MAAM,UAAU,EAAI,KAAK,OAE5E,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEtBA,CACT,CACF,EACM3D,GAAN,MAAMwI,CAAwB,CAC5B,OAAO,UAAUtG,EAAO,CACtB,IAAIC,EAAI,IAAIqG,EACZ,OAAArG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,YACRC,EAAE,UAAYD,EAAM,UAAU,IAAIzF,GAAS,SAAS,GAE/C0F,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,UAAc,KAAe,KAAK,YAAc,OAC9DA,EAAS,UAAe,cAAe,KAAK,UAAY,KAAK,UAAU,UAAU,EAAI,KAAK,WAErFA,CACT,CACF,EACM1D,GAAN,MAAMwI,CAAiB,CACrB,OAAO,UAAUvG,EAAO,CACtB,IAAIC,EAAI,IAAIsG,EACZ,OAAAtG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,YAAgB,MAC9BA,EAAS,YAAiB,KAAK,aAE1BA,CACT,CACF,EACMzD,GAAN,MAAMwI,CAA2B,CAC/B,OAAO,UAAUxG,EAAO,CACtB,IAAIC,EAAI,IAAIuG,EACZ,OAAAvG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE9B,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE3BA,CACT,CACF,EACMxD,GAAN,MAAMwI,CAAsB,CAC1B,OAAO,UAAUzG,EAAO,CACtB,IAAIC,EAAI,IAAIwG,EACZ,OAAAxG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,SACRC,EAAE,OAAShG,GAAO,UAAU+F,EAAM,MAAM,GAEnCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,KAAe,KAAK,SAAW,OACxDA,EAAS,OAAY,cAAe,KAAK,OAAS,KAAK,OAAO,UAAU,EAAI,KAAK,QAE5EA,CACT,CACF,EACMvD,GAAN,MAAMwI,CAA6B,CACjC,OAAO,UAAU1G,EAAO,CACtB,IAAIC,EAAI,IAAIyG,EACZ,OAAAzG,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,QACRC,EAAE,MAAQ9F,GAAc,UAAU6F,EAAM,KAAK,GAExCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,KAAe,KAAK,QAAU,OACtDA,EAAS,MAAW,cAAe,KAAK,MAAQ,KAAK,MAAM,UAAU,EAAI,KAAK,OAEzEA,CACT,CACF,EACMtD,GAAN,MAAMwI,CAAwB,CAC5B,OAAO,UAAU3G,EAAO,CACtB,IAAIC,EAAI,IAAI0G,EACZ,OAAA1G,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE9B,OAAO,KAAK,wBAA4B,MAC1CA,EAAS,wBAA6B,KAAK,yBAEzC,OAAO,KAAK,uBAA2B,MACzCA,EAAS,uBAA4B,KAAK,wBAExC,OAAO,KAAK,sBAA0B,MACxCA,EAAS,sBAA2B,KAAK,uBAEpCA,CACT,CACF,EACMrD,GAAN,MAAMwI,CAAuB,CAC3B,OAAO,UAAU5G,EAAO,CACtB,IAAIC,EAAI,IAAI2G,EACZ,OAAA3G,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAI1F,EAAoB,SAAS,GAE/D0F,EAAM,mBACRC,EAAE,iBAAmBjH,EAAgB,UAAUgH,EAAM,gBAAgB,GAEhEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAE3F,OAAO,KAAK,iBAAqB,KAAe,KAAK,mBAAqB,OAC5EA,EAAS,iBAAsB,cAAe,KAAK,iBAAmB,KAAK,iBAAiB,UAAU,EAAI,KAAK,kBAE1GA,CACT,CACF,EACMpD,GAAN,MAAMwI,CAAwB,CAC5B,OAAO,UAAU7G,EAAO,CACtB,IAAIC,EAAI,IAAI4G,EACZ,OAAA5G,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACMnD,GAAN,MAAMwI,CAAiB,CACrB,OAAO,UAAU9G,EAAO,CACtB,IAAIC,EAAI,IAAI6G,EACZ,OAAA7G,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,iBACRC,EAAE,eAAiBf,EAAe,UAAUc,EAAM,cAAc,GAE3DC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,eAAmB,KAAe,KAAK,iBAAmB,OACxEA,EAAS,eAAoB,cAAe,KAAK,eAAiB,KAAK,eAAe,UAAU,EAAI,KAAK,gBAEpGA,CACT,CACF,EACMlD,GAAN,MAAMwI,CAAkC,CACtC,OAAO,UAAU/G,EAAO,CACtB,IAAIC,EAAI,IAAI8G,EACZ,OAAA9G,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,kBACRC,EAAE,gBAAkBD,EAAM,gBAAgB,IAAId,EAAe,SAAS,GAEpEc,EAAM,kBACRC,EAAE,gBAAkBlI,EAAkBuB,GAAiB0G,EAAM,eAAe,GAEvEC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,gBAAoB,KAAe,KAAK,kBAAoB,OAC1EA,EAAS,gBAAqB,cAAe,KAAK,gBAAkB,KAAK,gBAAgB,UAAU,EAAI,KAAK,iBAE1G,OAAO,KAAK,gBAAoB,MAClCA,EAAS,gBAAqB,KAAK,iBAE9BA,CACT,CACF,EACMjD,GAAN,MAAMwI,CAA2B,CAC/B,OAAO,UAAUhH,EAAO,CACtB,IAAIC,EAAI,IAAI+G,EACZ,OAAA/G,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACMhD,GAAN,MAAMwI,CAA8B,CAClC,OAAO,UAAUjH,EAAO,CACtB,IAAIC,EAAI,IAAIgH,EACZ,OAAAhH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAEvBA,CACT,CACF,EACM/C,GAAN,MAAMwI,CAA4B,CAChC,OAAO,UAAUlH,EAAO,CACtB,IAAIC,EAAI,IAAIiH,EACZ,OAAAjH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEtCC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,YAAgB,MAC9BA,EAAS,YAAiB,KAAK,aAE1BA,CACT,CACF,EA2BM9C,GAAN,MAAMwI,CAAqB,CACzB,OAAO,UAAUnH,EAAO,CACtB,IAAIC,EAAI,IAAIkH,EACZ,OAAAlH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,UACRC,EAAE,QAAU5F,EAAQ,UAAU2F,EAAM,OAAO,GAEzCA,EAAM,QACRC,EAAE,MAAQtF,GAAM,UAAUqF,EAAM,KAAK,GAEnCA,EAAM,UACRC,EAAE,QAAUD,EAAM,QAAQ,IAAIpF,EAAqB,SAAS,GAE1DoF,EAAM,mBACRC,EAAE,iBAAmBlI,EAAkBsB,GAAkB2G,EAAM,gBAAgB,GAE7EA,EAAM,WACRC,EAAE,SAAW,SAASD,EAAM,SAAU,EAAE,GAEtCA,EAAM,YACRC,EAAE,UAAYrH,EAAU,UAAUoH,EAAM,SAAS,GAE5CC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,MAAU,KAAe,KAAK,QAAU,OACtDA,EAAS,MAAW,cAAe,KAAK,MAAQ,KAAK,MAAM,UAAU,EAAI,KAAK,OAE5E,OAAO,KAAK,QAAY,KAAe,KAAK,UAAY,OAC1DA,EAAS,QAAa,cAAe,KAAK,QAAU,KAAK,QAAQ,UAAU,EAAI,KAAK,SAElF,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,iBAAqB,MACnCA,EAAS,iBAAsB,KAAK,kBAElC,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAE1B,OAAO,KAAK,UAAc,KAAe,KAAK,YAAc,OAC9DA,EAAS,UAAe,cAAe,KAAK,UAAY,KAAK,UAAU,UAAU,EAAI,KAAK,WAErFA,CACT,CACF,EACM7C,GAAN,MAAMwI,CAAsB,CAC1B,OAAO,UAAUpH,EAAO,CACtB,IAAIC,EAAI,IAAImH,EACZ,OAAAnH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,SACRC,EAAE,OAASD,EAAM,OAAO,IAAIlF,EAAc,SAAS,GAEjDkF,EAAM,eACRC,EAAE,aAAe,SAASD,EAAM,aAAc,EAAE,GAE3CC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,KAAe,KAAK,SAAW,OACxDA,EAAS,OAAY,cAAe,KAAK,OAAS,KAAK,OAAO,UAAU,EAAI,KAAK,QAE/E,OAAO,KAAK,WAAe,MAC7BA,EAAS,WAAgB,KAAK,YAE5B,OAAO,KAAK,QAAY,MAC1BA,EAAS,QAAa,KAAK,SAEzB,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE3BA,CACT,CACF,EACM5C,GAAN,MAAMwI,CAA6B,CACjC,OAAO,UAAUrH,EAAO,CACtB,IAAIC,EAAI,IAAIoH,EACZ,OAAApH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAErBA,CACT,CACF,EACM3C,GAAN,MAAMwI,CAAmB,CACvB,OAAO,UAAUtH,EAAO,CACtB,IAAIC,EAAI,IAAIqH,EACZ,OAAArH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,SAAa,MAC3BA,EAAS,SAAc,KAAK,UAEvBA,CACT,CACF,EACM1C,GAAN,MAAMwI,CAAkB,CACtB,OAAO,UAAUvH,EAAO,CACtB,IAAIC,EAAI,IAAIsH,EACZ,OAAAtH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,aACRC,EAAE,WAAaD,EAAM,WAAW,IAAIhC,GAA2B,SAAS,GAEnEiC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,WAAe,KAAe,KAAK,aAAe,OAChEA,EAAS,WAAgB,cAAe,KAAK,WAAa,KAAK,WAAW,UAAU,EAAI,KAAK,YAExFA,CACT,CACF,EACMzC,GAAN,MAAMwI,CAAmC,CACvC,OAAO,UAAUxH,EAAO,CACtB,IAAIC,EAAI,IAAIuH,EACZ,OAAAvH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,OACRC,EAAE,KAAO5E,EAAK,UAAU2E,EAAM,IAAI,GAE7BC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,KAAS,KAAe,KAAK,OAAS,OACpDA,EAAS,KAAU,cAAe,KAAK,KAAO,KAAK,KAAK,UAAU,EAAI,KAAK,MAEtEA,CACT,CACF,EACMxC,GAAN,MAAMwI,CAAW,CACf,OAAO,UAAUzH,EAAO,CACtB,IAAIC,EAAI,IAAIwH,EACZ,OAAAxH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,aAAiB,MAC/BA,EAAS,aAAkB,KAAK,cAE9B,OAAO,KAAK,YAAgB,MAC9BA,EAAS,YAAiB,KAAK,aAE1BA,CACT,CACF,EACMvC,EAAN,MAAMwI,CAAe,CACnB,OAAO,UAAU1H,EAAO,CACtB,IAAIC,EAAI,IAAIyH,EACZ,OAAAzH,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,kBACRC,EAAE,gBAAkB/E,GAAgB,UAAU8E,EAAM,eAAe,GAEjEA,EAAM,oBACRC,EAAE,kBAAoB9E,GAAkB,UAAU6E,EAAM,iBAAiB,GAEvEA,EAAM,0BACRC,EAAE,wBAA0B7E,EAAwB,UAAU4E,EAAM,uBAAuB,GAEtFC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,OAAW,MACzBA,EAAS,OAAY,KAAK,QAExB,OAAO,KAAK,gBAAoB,KAAe,KAAK,kBAAoB,OAC1EA,EAAS,gBAAqB,cAAe,KAAK,gBAAkB,KAAK,gBAAgB,UAAU,EAAI,KAAK,iBAE1G,OAAO,KAAK,kBAAsB,KAAe,KAAK,oBAAsB,OAC9EA,EAAS,kBAAuB,cAAe,KAAK,kBAAoB,KAAK,kBAAkB,UAAU,EAAI,KAAK,mBAEhH,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEvB,OAAO,KAAK,wBAA4B,KAAe,KAAK,0BAA4B,OAC1FA,EAAS,wBAA6B,cAAe,KAAK,wBAA0B,KAAK,wBAAwB,UAAU,EAAI,KAAK,yBAElI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAExBA,CACT,CACF,EACMtC,GAAN,MAAMwI,CAAgB,CACpB,OAAO,UAAU3H,EAAO,CACtB,IAAIC,EAAI,IAAI0H,EACZ,OAAA1H,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACtBA,EAAM,YACRC,EAAE,UAAYlI,EAAkBwB,GAAeyG,EAAM,SAAS,GAE5DA,EAAM,QACRC,EAAE,MAAQlI,EAAkByB,GAAewG,EAAM,KAAK,GAEjDC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,UAAc,MAC5BA,EAAS,UAAe,KAAK,WAE3B,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EACMrC,GAAN,MAAMwI,CAAmB,CACvB,OAAO,UAAU5H,EAAO,CACtB,IAAIC,EAAI,IAAI2H,EACZ,OAAA3H,EAAI,OAAO,OAAOA,EAAGD,CAAK,EACnBC,CACT,CACA,YAAYC,EAAQ,CACbA,GAGL,OAAO,OAAO,KAAMA,CAAM,CAC5B,CACA,WAAY,CACV,IAAMuB,EAAW,CAAC,EAClB,OAAI,OAAO,KAAK,MAAU,MACxBA,EAAS,MAAW,KAAK,OAEpBA,CACT,CACF,EAKIpC,IAA8B,IAAM,CACtC,MAAMA,CAAc,CAClB,YAAYiB,EAAMC,EAAa,CAC7B,KAAK,KAAOD,EACZ,KAAK,YAAcC,EACnB,KAAK,MAAQ,KAAK,YAAY,cAChC,CACA,YAAa,CACX,MAAO,CACL,QAAS,IAAIE,EAAY,CACvB,eAAgB,kBAClB,CAAC,EACD,gBAAiB,EACnB,CACF,CACA,gBAAgBC,EAAG,CACjB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAItC,GAAuBsC,CAAC,EAC9D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,8BAA+BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQxC,GAAwB,UAAUwC,CAAI,CAAC,CAAC,CACrK,CACA,oBAAoBH,EAAG,CACrB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIhF,GAA2BgF,CAAC,EAClE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,kCAAmCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACtF,KAAK,WAAW,GADsE,CAEzF,QAAS,UACX,EAAC,CACH,CACA,YAAYpH,EAAG,CACb,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIxD,GAAmBwD,CAAC,EAC1D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,0BAA2BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQ1D,EAAoB,UAAU0D,CAAI,CAAC,CAAC,CAC7J,CACA,mBAAmBH,EAAG,CACpB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIzD,GAA0ByD,CAAC,EACjE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,iCAAkCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQ1D,EAAoB,UAAU0D,CAAI,CAAC,CAAC,CACpK,CACA,iBAAiBH,EAAG,CAClB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI5C,GAAwB4C,CAAC,EAC/D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,+BAAgCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACnF,KAAK,WAAW,GADmE,CAEtF,QAAS,UACX,EAAC,CACH,CACA,qBAAqBpH,EAAG,CACtB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIhC,GAA4BgC,CAAC,EACnE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,mCAAoCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACvF,KAAK,WAAW,GADuE,CAE1F,QAAS,UACX,EAAC,CACH,CACA,mBAAmBpH,EAAG,CACpB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI/E,GAA0B+E,CAAC,EACjE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,iCAAkCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACrF,KAAK,WAAW,GADqE,CAExF,QAAS,UACX,EAAC,CACH,CACA,cAAcpH,EAAG,CACf,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIzE,GAAqByE,CAAC,EAC5D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,4BAA6BC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAChF,KAAK,WAAW,GADgE,CAEnF,QAAS,UACX,EAAC,CACH,CACA,cAAcpH,EAAG,CACf,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI/B,GAAqB+B,CAAC,EAC5D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,4BAA6BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQjC,GAAsB,UAAUiC,CAAI,CAAC,CAAC,CACjK,CACA,kBAAkBH,EAAG,CACnB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI5D,GAAyB4D,CAAC,EAChE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,gCAAiCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQ9D,GAA0B,UAAU8D,CAAI,CAAC,CAAC,CACzK,CACA,sBAAsBH,EAAG,CACvB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIxC,GAA6BwC,CAAC,EACpE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,oCAAqCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACxF,KAAK,WAAW,GADwE,CAE3F,QAAS,UACX,EAAC,CACH,CACA,iBAAiBpH,EAAG,CAClB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIvC,GAAwBuC,CAAC,EAC/D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,+BAAgCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACnF,KAAK,WAAW,GADmE,CAEtF,QAAS,UACX,EAAC,CACH,CACA,eAAepH,EAAG,CAChB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIzC,GAAsByC,CAAC,EAC7D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,6BAA8BC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACjF,KAAK,WAAW,GADiE,CAEpF,QAAS,UACX,EAAC,CACH,CACA,eAAepH,EAAG,CAChB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIpF,GAAsBoF,CAAC,EAC7D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,6BAA8BC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACjF,KAAK,WAAW,GADiE,CAEpF,QAAS,UACX,EAAC,CACH,CACA,mBAAmBpH,EAAG,CACpB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI9D,GAA0B8D,CAAC,EACjE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,iCAAkCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQxD,EAAiB,UAAUwD,CAAI,CAAC,CAAC,CACjK,CACA,gBAAgBH,EAAG,CACjB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI/D,EAAuB+D,CAAC,EAC9D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,8BAA+BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQxD,EAAiB,UAAUwD,CAAI,CAAC,CAAC,CAC9J,CACA,OAAOH,EAAG,CACR,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAInF,GAAcmF,CAAC,EACrD,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,qBAAsBC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQrF,GAAe,UAAUqF,CAAI,CAAC,CAAC,CACnJ,CACA,UAAUH,EAAG,CACX,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIpC,GAAiBoC,CAAC,EACxD,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,wBAAyBC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC5E,KAAK,WAAW,GAD4D,CAE/E,QAAS,UACX,EAAC,CACH,CACA,cAAcpH,EAAG,CACf,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI7E,GAAqB6E,CAAC,EAC5D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,4BAA6BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQ/E,GAAsB,UAAU+E,CAAI,CAAC,CAAC,CACjK,CACA,sBAAsBH,EAAG,CACvB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIhE,GAA6BgE,CAAC,EACpE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,oCAAqCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQrC,GAA2B,UAAUqC,CAAI,CAAC,CAAC,CAC9K,CACA,oBAAoBH,EAAG,CACrB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAInD,GAA2BmD,CAAC,EAClE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,kCAAmCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQpD,EAAqB,UAAUoD,CAAI,CAAC,CAAC,CACtK,CACA,aAAaH,EAAG,CACd,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIpD,GAAuBoD,CAAC,EAC9D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,2BAA4BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQpD,EAAqB,UAAUoD,CAAI,CAAC,CAAC,CAC/J,CACA,uBAAuBH,EAAG,CACxB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI3E,GAA8B2E,CAAC,EACrE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,qCAAsCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQ7E,GAA+B,UAAU6E,CAAI,CAAC,CAAC,CACnL,CACA,cAAcH,EAAG,CACf,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIlE,GAAqBkE,CAAC,EAC5D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,4BAA6BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQpE,GAAsB,UAAUoE,CAAI,CAAC,CAAC,CACjK,CACA,UAAUH,EAAG,CACX,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI9C,GAAiB8C,CAAC,EACxD,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,wBAAyBC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQhD,GAAkB,UAAUgD,CAAI,CAAC,CAAC,CACzJ,CACA,WAAWH,EAAG,CACZ,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI3B,GAAkB2B,CAAC,EACzD,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,yBAA0BC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC7E,KAAK,WAAW,GAD6D,CAEhF,QAAS,UACX,EAAC,CACH,CACA,WAAWpH,EAAG,CACZ,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIxE,GAAkBwE,CAAC,EACzD,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,yBAA0BC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC7E,KAAK,WAAW,GAD6D,CAEhF,QAAS,UACX,EAAC,CACH,CACA,iBAAiBpH,EAAG,CAClB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIhD,GAAwBgD,CAAC,EAC/D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,+BAAgCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQlD,GAAyB,UAAUkD,CAAI,CAAC,CAAC,CACvK,CACA,YAAYH,EAAG,CACb,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAItB,GAAmBsB,CAAC,EAC1D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,0BAA2BC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC9E,KAAK,WAAW,GAD8D,CAEjF,QAAS,UACX,EAAC,CACH,CACA,sBAAsBpH,EAAG,CACvB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI7B,GAA6B6B,CAAC,EACpE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,oCAAqCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACxF,KAAK,WAAW,GADwE,CAE3F,QAAS,UACX,EAAC,CACH,CACA,mBAAmBpH,EAAG,CACpB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIpE,GAA0BoE,CAAC,EACjE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,iCAAkCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQtE,GAA2B,UAAUsE,CAAI,CAAC,CAAC,CAC3K,CACA,iBAAiBH,EAAG,CAClB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI9E,GAAwB8E,CAAC,EAC/D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,+BAAgCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GACnF,KAAK,WAAW,GADmE,CAEtF,QAAS,UACX,EAAC,CACH,CACA,wBAAwBpH,EAAG,CACzB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIjF,GAA+BiF,CAAC,EACtE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,sCAAuCC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC1F,KAAK,WAAW,GAD0E,CAE7F,QAAS,UACX,EAAC,CACH,CACA,2BAA2BpH,EAAG,CAC5B,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAInC,GAAkCmC,CAAC,EACzE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,yCAA0CC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC7F,KAAK,WAAW,GAD6E,CAEhG,QAAS,UACX,EAAC,CACH,CACF,CACA,OAAAzI,EAAc,UAAO,SAA+BQ,EAAG,CACrD,OAAO,IAAKA,GAAKR,GAAkB6B,EAAYC,CAAU,EAAMD,EAAShJ,EAAW,CAAC,CACtF,EACAmH,EAAc,WAA0BS,EAAmB,CACzD,MAAOT,EACP,QAASA,EAAc,UACvB,WAAY,MACd,CAAC,EACMA,CACT,GAAG,EAMCC,IAAkC,IAAM,CAC1C,MAAMA,CAAkB,CACtB,YAAYgB,EAAMC,EAAa,CAC7B,KAAK,KAAOD,EACZ,KAAK,YAAcC,EACnB,KAAK,MAAQ,KAAK,YAAY,cAChC,CACA,YAAa,CACX,MAAO,CACL,QAAS,IAAIE,EAAY,CACvB,eAAgB,kBAClB,CAAC,EACD,gBAAiB,EACnB,CACF,CACA,oBAAoBC,EAAG,CACrB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI7D,GAA2B6D,CAAC,EAClE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,sCAAuCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQ7D,GAAmB,UAAU6D,CAAI,CAAC,CAAC,CACxK,CACA,aAAaH,EAAG,CACd,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIlD,GAAoBkD,CAAC,EAC3D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,+BAAgCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQpD,EAAqB,UAAUoD,CAAI,CAAC,CAAC,CACnK,CACA,SAASH,EAAG,CACV,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAItD,GAAgBsD,CAAC,EACvD,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,2BAA4BC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQxD,EAAiB,UAAUwD,CAAI,CAAC,CAAC,CAC3J,CACA,gBAAgBH,EAAG,CACjB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAI/D,EAAuB+D,CAAC,EAC9D,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,kCAAmCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQxD,EAAiB,UAAUwD,CAAI,CAAC,CAAC,CAClK,CACA,uBAAuBH,EAAG,CACxB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAIjC,GAA8BiC,CAAC,EACrE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,yCAA0CC,EAAQ,UAAU,EAAGkH,EAAAC,EAAA,GAC7F,KAAK,WAAW,GAD6E,CAEhG,QAAS,UACX,EAAC,CACH,CACA,sBAAsBpH,EAAG,CACvB,IAAMC,EAAUD,EAAE,UAAYA,EAAI,IAAItE,GAA6BsE,CAAC,EACpE,OAAO,KAAK,KAAK,KAAK,KAAK,MAAQ,wCAAyCC,EAAQ,UAAU,EAAG,KAAK,WAAW,CAAC,EAAE,KAAKC,EAAIC,GAAQxE,GAA8B,UAAUwE,CAAI,CAAC,CAAC,CACrL,CACF,CACA,OAAAvB,EAAkB,UAAO,SAAmCO,EAAG,CAC7D,OAAO,IAAKA,GAAKP,GAAsB4B,EAAYC,CAAU,EAAMD,EAAShJ,EAAW,CAAC,CAC1F,EACAoH,EAAkB,WAA0BQ,EAAmB,CAC7D,MAAOR,EACP,QAASA,EAAkB,UAC3B,WAAY,MACd,CAAC,EACMA,CACT,GAAG,EAICC,IAA2B,IAAM,CACnC,MAAMA,CAAW,CACf,YAAYwI,EAAKC,EAASC,EAAQ,CAChC,KAAK,IAAMF,EACX,KAAK,QAAUC,EACf,KAAK,OAASC,CAChB,CAEA,oBAAoBC,EAAWnR,EAAaoR,EAAW,CACrD,IAAIC,EACJ,OAAMD,EACJC,EAAU,IAAI/N,EAAQ,CACpB,WAAY,IAAIG,EAAkB,CAChC,UAAW2N,EACX,KAAMrR,EAAYC,CAAW,CAC/B,CAAC,CACH,CAAC,EAEDqR,EAAU,IAAI/N,EAAQ,CACpB,MAAO,IAAIU,EAAa,CACtB,KAAMjE,EAAYC,CAAW,CAC/B,CAAC,CACH,CAAC,EAEI,KAAK,IAAI,oBAAoB,CAClC,QAASmR,EACT,QAASE,CACX,CAAC,EAAE,KAAKxH,EAAIF,GAAKnK,GAAY,IAAIkE,EAAQ,CACvC,QAASiG,EAAE,QAAQ,QACnB,QAAS0H,CACX,CAAC,CAAC,CAAC,CAAC,CACN,CAEA,aAAaF,EAAWnR,EAAa,CACnC,OAAO,KAAK,IAAI,aAAa,CAC3B,QAASmR,EACT,SAAU,IACV,KAAMnR,CACR,CAAC,EAAE,KAAK6J,EAAIF,GAAK,CACf,IAAM2H,EAAW,CAAC,EAClB,GAAI,CAAC3H,GAAK,CAACA,EAAE,SACX,MAAO,CAAC,EAEV,QAAWU,KAAKV,EAAE,SAAU,CAC1B,IAAMlK,EAAUD,GAAY6K,CAAC,EACvB5K,GACJ6R,EAAS,KAAK7R,CAAO,CAEzB,CACA,OAAO6R,CACT,CAAC,CAAC,CACJ,CAEA,UAAW,CACT,OAAO,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,KAAKzH,EAAIF,GAAKA,EAAE,KAAK,CAAC,CACrD,CAEA,MAAM4H,EAAOC,EAAUxR,EAAaoR,EAAW,CAC7C,OAAO,KAAK,QAAQ,MAAM,CACxB,MAAOG,EACP,SAAUC,EACV,UAAWJ,EACX,KAAMpR,CACR,CAAC,EAAE,KAAK6J,EAAIF,GAAKA,EAAE,WAAa,EAAE,CAAC,CACrC,CAEA,QAAS,CACP,OAAO,KAAK,QAAQ,OAAO,EAAE,KAAKE,EAAIF,GAAKA,EAAE,OAAO,CAAC,CACvD,CAEA,SAAS8H,EAASzR,EAAaoR,EAAW,CACxC,KAAK,QAAQ,SAAS,CACpB,QAASK,EACT,UAAWL,EACX,KAAMpR,CACR,CAAC,CACH,CAEA,cAAc0R,EAAiB,CAC7B,OAAO,KAAK,OAAO,cAAc,CAC/B,gBAAAA,CACF,CAAC,EAAE,KAAK7H,EAAIC,GACJA,EAAK,MACFA,EAAK,MAEP,CAAC,CACT,EAAGD,EAAI8H,GAAkBA,EAAe,IAAIC,GAAKA,EAAE,IAAI,CAAC,CAAC,CAC5D,CAGA,iBAAiBC,EAAQC,EAAQC,EAAUC,EAAW,GAAI,CACxD,IAAMC,EAAe,CAAC,EACtB,OAAID,IAAa,KACfC,EAAa,QAAU,IAAI7M,EAA+B,CACxD,SAAA4M,CACF,CAAC,GAEI,KAAK,OAAO,iBAAiBjB,EAAA,CAClC,OAAAc,EACA,OAAAC,EACA,SAAAC,GACGE,EACJ,CACH,CAIA,UAAUC,EAAWX,EAAOO,EAAQC,EAAUI,EAAcC,EAAaC,EAAa,CACpF,IAAMC,EAAa,CAAC,EACpB,OAAMH,GAAgBA,EAAa,OAAS,IAC1CG,EAAW,aAAeH,GAEtBC,GAAeA,EAAY,OAAS,IACxCE,EAAW,YAAcF,GAEpB,KAAK,OAAO,UAAU,CAC3B,UAAWF,EACX,MAAOX,EACP,OAAQO,EACR,SAAUC,EACV,WAAYO,EACZ,YAAaD,GAAe,CAAC,CAC/B,CAAC,CACH,CACF,CACA,OAAA7J,EAAW,UAAO,SAA4BM,EAAG,CAC/C,OAAO,IAAKA,GAAKN,GAAe2B,EAAS5B,EAAiB,EAAM4B,EAAS3I,EAAiB,EAAM2I,EAAS7B,EAAa,CAAC,CACzH,EACAE,EAAW,WAA0BO,EAAmB,CACtD,MAAOP,EACP,QAASA,EAAW,UACpB,WAAY,MACd,CAAC,EACMA,CACT,GAAG","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","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","t","ɵɵ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"],"x_google_ignoreList":[0]}