@vendasta/meetings 0.72.0 → 0.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/_generated/host.service.mjs +25 -0
- package/esm2020/lib/_internal/enums/dayofweek.enum.mjs +18 -0
- package/esm2020/lib/_internal/enums/index.mjs +11 -0
- package/esm2020/lib/_internal/enums/meeting-source.enum.mjs +20 -0
- package/esm2020/lib/_internal/enums/shared.enum.mjs +21 -0
- package/{esm2015/lib/_internal/enums/zoom.enum.js → esm2020/lib/_internal/enums/zoom.enum.mjs} +1 -1
- package/esm2020/lib/_internal/google-meet.api.service.mjs +41 -0
- package/esm2020/lib/_internal/index.mjs +15 -0
- package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/datetime.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/dayofweek.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/google-meet.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/meeting-source.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/meeting-type.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/shared.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/timeofday.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/zoom.interface.mjs +8 -0
- package/esm2020/lib/_internal/meeting-guest.api.service.mjs +84 -0
- package/esm2020/lib/_internal/meeting-host.api.service.mjs +170 -0
- package/esm2020/lib/_internal/meeting-source-api.api.service.mjs +41 -0
- package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
- package/esm2020/lib/_internal/objects/datetime.mjs +77 -0
- package/esm2020/lib/_internal/objects/dayofweek.mjs +7 -0
- package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
- package/esm2020/lib/_internal/objects/google-meet.mjs +539 -0
- package/esm2020/lib/_internal/objects/index.mjs +18 -0
- package/esm2020/lib/_internal/objects/meeting-guest.mjs +511 -0
- package/esm2020/lib/_internal/objects/meeting-host.mjs +1485 -0
- package/esm2020/lib/_internal/objects/meeting-source.mjs +121 -0
- package/esm2020/lib/_internal/objects/meeting-type.mjs +119 -0
- package/esm2020/lib/_internal/objects/shared.mjs +426 -0
- package/esm2020/lib/_internal/objects/timeofday.mjs +36 -0
- package/esm2020/lib/_internal/objects/zoom.mjs +377 -0
- package/esm2020/lib/_internal/zoom.api.service.mjs +41 -0
- package/esm2020/lib/guest/guest.service.mjs +86 -0
- package/esm2020/lib/guest/index.mjs +2 -0
- package/esm2020/lib/host/host.service.mjs +308 -0
- package/esm2020/lib/host/url.mjs +39 -0
- package/esm2020/lib/index.mjs +8 -0
- package/esm2020/lib/meetings.service.mjs +168 -0
- package/esm2020/lib/shared/availability.mjs +2 -0
- package/esm2020/lib/shared/calendar.mjs +29 -0
- package/esm2020/lib/shared/duration.mjs +41 -0
- package/esm2020/lib/shared/environment.mjs +17 -0
- package/esm2020/lib/shared/fieldmask.mjs +6 -0
- package/esm2020/lib/shared/host-id.mjs +20 -0
- package/esm2020/lib/shared/host-url-map.mjs +2 -0
- package/esm2020/lib/shared/host-user.mjs +8 -0
- package/esm2020/lib/shared/host.mjs +8 -0
- package/esm2020/lib/shared/index.mjs +14 -0
- package/esm2020/lib/shared/meeting-type.mjs +60 -0
- package/esm2020/lib/shared/meeting.mjs +89 -0
- package/esm2020/lib/shared/paged-response.mjs +8 -0
- package/esm2020/lib/shared/preferences.mjs +12 -0
- package/esm2020/lib/shared/time-span.mjs +7 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/vendasta-meetings.mjs +5 -0
- package/fesm2015/{vendasta-meetings.js → vendasta-meetings.mjs} +554 -1264
- package/fesm2015/vendasta-meetings.mjs.map +1 -0
- package/fesm2020/vendasta-meetings.mjs +5086 -0
- package/fesm2020/vendasta-meetings.mjs.map +1 -0
- package/lib/_generated/host.service.d.ts +5 -9
- package/lib/_internal/google-meet.api.service.d.ts +4 -0
- package/lib/_internal/index.d.ts +3 -3
- package/lib/_internal/interfaces/meeting-host.interface.d.ts +2 -1
- package/lib/_internal/interfaces/meeting-source.interface.d.ts +1 -1
- package/lib/_internal/interfaces/meeting-type.interface.d.ts +1 -1
- package/lib/_internal/interfaces/shared.interface.d.ts +1 -1
- package/lib/_internal/interfaces/zoom.interface.d.ts +1 -1
- package/lib/_internal/meeting-guest.api.service.d.ts +4 -0
- package/lib/_internal/meeting-host.api.service.d.ts +4 -0
- package/lib/_internal/meeting-source-api.api.service.d.ts +4 -0
- package/lib/_internal/objects/date-range.d.ts +1 -1
- package/lib/_internal/objects/datetime.d.ts +1 -1
- package/lib/_internal/objects/field-mask.d.ts +1 -1
- package/lib/_internal/objects/google-meet.d.ts +1 -1
- package/lib/_internal/objects/meeting-guest.d.ts +1 -1
- package/lib/_internal/objects/meeting-host.d.ts +3 -2
- package/lib/_internal/objects/meeting-source.d.ts +2 -2
- package/lib/_internal/objects/meeting-type.d.ts +2 -2
- package/lib/_internal/objects/shared.d.ts +2 -2
- package/lib/_internal/objects/timeofday.d.ts +1 -1
- package/lib/_internal/objects/zoom.d.ts +2 -2
- package/lib/_internal/zoom.api.service.d.ts +4 -0
- package/lib/guest/guest.service.d.ts +5 -4
- package/lib/guest/index.d.ts +0 -1
- package/lib/host/host.service.d.ts +7 -6
- package/lib/host/url.d.ts +1 -1
- package/lib/index.d.ts +1 -4
- package/lib/meetings.service.d.ts +3 -0
- package/lib/shared/availability.d.ts +2 -2
- package/lib/shared/calendar.d.ts +1 -1
- package/lib/shared/environment.d.ts +8 -0
- package/lib/shared/fieldmask.d.ts +1 -1
- package/lib/shared/host.d.ts +1 -1
- package/lib/shared/meeting-type.d.ts +2 -2
- package/lib/shared/meeting.d.ts +2 -2
- package/lib/shared/preferences.d.ts +3 -3
- package/lib/shared/time-span.d.ts +1 -1
- package/package.json +26 -15
- package/public_api.d.ts +1 -1
- package/src/README.md +12 -0
- package/vendasta-meetings.d.ts +1 -10
- package/bundles/vendasta-meetings.umd.js +0 -6217
- package/bundles/vendasta-meetings.umd.js.map +0 -1
- package/bundles/vendasta-meetings.umd.min.js +0 -16
- package/bundles/vendasta-meetings.umd.min.js.map +0 -1
- package/esm2015/lib/_generated/host.service.js +0 -62
- package/esm2015/lib/_internal/enums/dayofweek.enum.js +0 -18
- package/esm2015/lib/_internal/enums/index.js +0 -11
- package/esm2015/lib/_internal/enums/meeting-source.enum.js +0 -20
- package/esm2015/lib/_internal/enums/shared.enum.js +0 -21
- package/esm2015/lib/_internal/google-meet.api.service.js +0 -38
- package/esm2015/lib/_internal/index.js +0 -15
- package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/datetime.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/dayofweek.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/google-meet.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/index.js +0 -2
- package/esm2015/lib/_internal/interfaces/meeting-guest.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/meeting-host.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/meeting-source.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/meeting-type.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/shared.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/timeofday.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/zoom.interface.js +0 -8
- package/esm2015/lib/_internal/meeting-guest.api.service.js +0 -81
- package/esm2015/lib/_internal/meeting-host.api.service.js +0 -167
- package/esm2015/lib/_internal/meeting-source-api.api.service.js +0 -38
- package/esm2015/lib/_internal/meetings.module.js +0 -33
- package/esm2015/lib/_internal/objects/date-range.js +0 -40
- package/esm2015/lib/_internal/objects/datetime.js +0 -92
- package/esm2015/lib/_internal/objects/dayofweek.js +0 -7
- package/esm2015/lib/_internal/objects/field-mask.js +0 -30
- package/esm2015/lib/_internal/objects/google-meet.js +0 -646
- package/esm2015/lib/_internal/objects/index.js +0 -18
- package/esm2015/lib/_internal/objects/meeting-guest.js +0 -591
- package/esm2015/lib/_internal/objects/meeting-host.js +0 -1699
- package/esm2015/lib/_internal/objects/meeting-source.js +0 -139
- package/esm2015/lib/_internal/objects/meeting-type.js +0 -142
- package/esm2015/lib/_internal/objects/shared.js +0 -504
- package/esm2015/lib/_internal/objects/timeofday.js +0 -42
- package/esm2015/lib/_internal/objects/zoom.js +0 -456
- package/esm2015/lib/_internal/zoom.api.service.js +0 -38
- package/esm2015/lib/guest/guest.module.js +0 -16
- package/esm2015/lib/guest/guest.service.js +0 -82
- package/esm2015/lib/guest/index.js +0 -3
- package/esm2015/lib/host/host.module.js +0 -16
- package/esm2015/lib/host/host.service.js +0 -283
- package/esm2015/lib/host/url.js +0 -39
- package/esm2015/lib/index.js +0 -11
- package/esm2015/lib/meetings.module.js +0 -22
- package/esm2015/lib/meetings.service.js +0 -165
- package/esm2015/lib/shared/availability.js +0 -2
- package/esm2015/lib/shared/calendar.js +0 -29
- package/esm2015/lib/shared/duration.js +0 -41
- package/esm2015/lib/shared/fieldmask.js +0 -6
- package/esm2015/lib/shared/host-id.js +0 -20
- package/esm2015/lib/shared/host-url-map.js +0 -2
- package/esm2015/lib/shared/host-user.js +0 -8
- package/esm2015/lib/shared/host.js +0 -8
- package/esm2015/lib/shared/index.js +0 -14
- package/esm2015/lib/shared/meeting-type.js +0 -52
- package/esm2015/lib/shared/meeting.js +0 -89
- package/esm2015/lib/shared/paged-response.js +0 -8
- package/esm2015/lib/shared/preferences.js +0 -12
- package/esm2015/lib/shared/time-span.js +0 -7
- package/esm2015/public_api.js +0 -2
- package/esm2015/vendasta-meetings.js +0 -12
- package/fesm2015/vendasta-meetings.js.map +0 -1
- package/lib/_internal/meetings.module.d.ts +0 -2
- package/lib/guest/guest.module.d.ts +0 -2
- package/lib/host/host.module.d.ts +0 -2
- package/lib/meetings.module.d.ts +0 -2
- package/vendasta-meetings.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vendasta-meetings.umd.js","sources":["../../../meetings_sdk/src/lib/_internal/enums/meeting-source.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/zoom.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/shared.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/dayofweek.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/index.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-source.ts","../../../meetings_sdk/src/lib/_internal/objects/zoom.ts","../../../meetings_sdk/src/lib/_internal/objects/google-meet.ts","../../../meetings_sdk/src/lib/_internal/objects/timeofday.ts","../../../meetings_sdk/src/lib/_internal/objects/datetime.ts","../../../meetings_sdk/src/lib/_internal/objects/shared.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-type.ts","../../../meetings_sdk/src/lib/_internal/objects/date-range.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-guest.ts","../../../meetings_sdk/src/lib/_internal/objects/field-mask.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-host.ts","../../../meetings_sdk/src/lib/_internal/objects/index.ts","../../../meetings_sdk/src/lib/_generated/host.service.ts","../../../meetings_sdk/src/lib/_internal/google-meet.api.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-guest.api.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-host.api.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-source-api.api.service.ts","../../../meetings_sdk/src/lib/_internal/zoom.api.service.ts","../../../meetings_sdk/src/lib/_internal/meetings.module.ts","../../../meetings_sdk/src/lib/meetings.service.ts","../../../meetings_sdk/src/lib/meetings.module.ts","../../../meetings_sdk/src/lib/_internal/index.ts","../../../meetings_sdk/src/lib/shared/time-span.ts","../../../meetings_sdk/src/lib/shared/host.ts","../../../meetings_sdk/src/lib/host/url.ts","../../../meetings_sdk/src/lib/shared/meeting-type.ts","../../../meetings_sdk/src/lib/shared/meeting.ts","../../../meetings_sdk/src/lib/shared/paged-response.ts","../../../meetings_sdk/src/lib/shared/calendar.ts","../../../meetings_sdk/src/lib/shared/preferences.ts","../../../node_modules/tslib/tslib.es6.js","../../../meetings_sdk/src/lib/shared/duration.ts","../../../meetings_sdk/src/lib/shared/fieldmask.ts","../../../meetings_sdk/src/lib/shared/host-id.ts","../../../meetings_sdk/src/lib/shared/host-user.ts","../../../meetings_sdk/src/lib/guest/guest.service.ts","../../../meetings_sdk/src/lib/guest/guest.module.ts","../../../meetings_sdk/src/lib/host/host.service.ts","../../../meetings_sdk/src/lib/host/host.module.ts","../../../meetings_sdk/src/vendasta-meetings.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MeetingSource {\n MEETING_SOURCE_INVALID = 0,\n MEETING_SOURCE_ZOOM = 1,\n MEETING_SOURCE_GOOGLE_MEET = 2,\n}\n\nexport enum MeetingSourceStatus {\n MEETING_SOURCE_STATUS_INVALID = 0,\n MEETING_SOURCE_STATUS_CONNECTED = 1,\n MEETING_SOURCE_STATUS_DISCONNECTED = 2,\n MEETING_SOURCE_STATUS_BROKEN = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ZoomApprovalType {\n ZOOM_APPROVAL_TYPE_INVALID = 0,\n ZOOM_APPROVAL_TYPE_ATUO_APPROVE = 1,\n ZOOM_APPROVAL_TYPE_MANUALLY_APPROVE = 2,\n ZOOM_APPROVAL_TYPE_NO_REGISTRATION_REQUIRED = 3,\n}\n\nexport enum ZoomMeetingRecurrenceType {\n ZOOM_MEETING_RECURRENCE_TYPE_INVALID = 0,\n ZOOM_MEETING_RECURRENCE_TYPE_DAILY = 1,\n ZOOM_MEETING_RECURRENCE_TYPE_WEEKLY = 2,\n ZOOM_MEETING_RECURRENCE_TYPE_MONTHLY = 3,\n}\n\nexport enum ZoomMeetingType {\n ZOOM_MEETING_TYPE_INVALID = 0,\n ZOOM_MEETING_TYPE_INSTANT = 1,\n ZOOM_MEETING_TYPE_SCHEDULED = 2,\n ZOOM_MEETING_TYPE_RECURRING_NO_FIXED = 3,\n ZOOM_MEETING_TYPE_RECURRING_FIXED = 8,\n}\n\nexport enum ZoomMonthlyWeek {\n ZOOM_MONTHLY_WEEK_INVALD = 0,\n ZOOM_MONTHLY_WEEK_LAST_WEEK = -1,\n ZOOM_MONTHLY_WEEK_FIRST_WEEK = 1,\n ZOOM_MONTHLY_WEEK_SECOND_WEEK = 2,\n ZOOM_MONTHLY_WEEK_THIRD_WEEK = 3,\n ZOOM_MONTHLY_WEEK_FOURTH_WEEK = 4,\n}\n\nexport enum ZoomMonthlyWeekDay {\n ZOOM_MONTHLY_WEEK_DAY_INVALID = 0,\n ZOOM_MONTHLY_WEEK_DAY_SUNDAY = 1,\n ZOOM_MONTHLY_WEEK_DAY_MONDAY = 2,\n ZOOM_MONTHLY_WEEK_DAY_TUESDAY = 3,\n ZOOM_MONTHLY_WEEK_DAY_WEDNESDAY = 4,\n ZOOM_MONTHLY_WEEK_DAY_THURSDAY = 5,\n ZOOM_MONTHLY_WEEK_DAY_FRIDAY = 6,\n ZOOM_MONTHLY_WEEK_DAY_SATURDAY = 7,\n}\n\nexport enum ZoomRegistrationType {\n ZOOM_REGISTRATION_TYPE_INVALID = 0,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ALL = 1,\n ZOOM_REGISTRATION_TYPE_REGISTER_FOR_EACH = 2,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ONE_OR_MORE = 3,\n}\n\nexport enum ZoomWeeklyDay {\n ZOOM_WEEKLY_DAY_INVALID = 0,\n ZOOM_WEEKLY_DAY_SUNDAY = 1,\n ZOOM_WEEKLY_DAY_MONDAY = 2,\n ZOOM_WEEKLY_DAY_TUESDAY = 3,\n ZOOM_WEEKLY_DAY_WEDNESDAY = 4,\n ZOOM_WEEKLY_DAY_THURSDAY = 5,\n ZOOM_WEEKLY_DAY_FRIDAY = 6,\n ZOOM_WEEKLY_DAY_SATURDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CalendarType {\n CALENDAR_TYPE_INVALID = 0,\n CALENDAR_TYPE_PERSONAL = 1,\n CALENDAR_TYPE_GROUP = 2,\n}\n\nexport enum FormFieldType {\n FORM_FIELD_TYPE_INVALID = 0,\n FORM_FIELD_TYPE_TEXT = 1,\n FORM_FIELD_TYPE_EMAIL = 2,\n FORM_FIELD_TYPE_PHONE_NUMBER = 3,\n FORM_FIELD_TYPE_SELECT = 4,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DayOfWeek {\n DAY_OF_WEEK_UNSPECIFIED = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n SUNDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n MeetingSource,\n MeetingSourceStatus,\n} from './meeting-source.enum';export {\n ZoomApprovalType,\n ZoomMeetingRecurrenceType,\n ZoomMeetingType,\n ZoomMonthlyWeek,\n ZoomMonthlyWeekDay,\n ZoomRegistrationType,\n ZoomWeeklyDay,\n} from './zoom.enum';export {\n CalendarType,\n FormFieldType,\n} from './shared.enum';export {\n DayOfWeek,\n} from './dayofweek.enum';","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class MeetingSourceInfo implements i.MeetingSourceInfoInterface {\n source: e.MeetingSource;\n status: e.MeetingSourceStatus;\n connectDisconnectUrl: string;\n\n static fromProto(proto: any): MeetingSourceInfo {\n let m = new MeetingSourceInfo();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n if (proto.status) {m.status = enumStringToValue<e.MeetingSourceStatus>(e.MeetingSourceStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceInfoInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.source === 'undefined' &&\n typeof this.status === 'undefined' &&\n typeof this.connectDisconnectUrl === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.connectDisconnectUrl !== 'undefined') {toReturn['connectDisconnectUrl'] = this.connectDisconnectUrl;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListRequest implements i.MeetingSourceListRequestInterface {\n iamUserId: string;\n queriedSources: MeetingSourceQuery[];\n\n static fromProto(proto: any): MeetingSourceListRequest {\n let m = new MeetingSourceListRequest();\n m = Object.assign(m, proto);\n if (proto.queriedSources) {m.queriedSources = proto.queriedSources.map(MeetingSourceQuery.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.iamUserId === 'undefined' &&\n typeof this.queriedSources === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.queriedSources !== 'undefined' && this.queriedSources !== null) {toReturn['queriedSources'] = 'toApiJson' in this.queriedSources ? (this.queriedSources as any).toApiJson() : this.queriedSources;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListResponse implements i.MeetingSourceListResponseInterface {\n iamUserId: string;\n sourceInfo: MeetingSourceInfo[];\n\n static fromProto(proto: any): MeetingSourceListResponse {\n let m = new MeetingSourceListResponse();\n m = Object.assign(m, proto);\n if (proto.sourceInfo) {m.sourceInfo = proto.sourceInfo.map(MeetingSourceInfo.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.iamUserId === 'undefined' &&\n typeof this.sourceInfo === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.sourceInfo !== 'undefined' && this.sourceInfo !== null) {toReturn['sourceInfo'] = 'toApiJson' in this.sourceInfo ? (this.sourceInfo as any).toApiJson() : this.sourceInfo;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceQuery implements i.MeetingSourceQueryInterface {\n source: e.MeetingSource;\n connectNextUrl: string;\n disconnectNextUrl: string;\n\n static fromProto(proto: any): MeetingSourceQuery {\n let m = new MeetingSourceQuery();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceQueryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.source === 'undefined' &&\n typeof this.connectNextUrl === 'undefined' &&\n typeof this.disconnectNextUrl === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.connectNextUrl !== 'undefined') {toReturn['connectNextUrl'] = this.connectNextUrl;}\n if (typeof this.disconnectNextUrl !== 'undefined') {toReturn['disconnectNextUrl'] = this.disconnectNextUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateZoomMeetingRequest implements i.CreateZoomMeetingRequestInterface {\n iamUserId: string;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n password: string;\n agenda: string;\n trackingFields: ZoomMeetingTrackingField[];\n recurrence: ZoomMeetingRecurrence;\n settings: ZoomMeetingSettings;\n\n static fromProto(proto: any): CreateZoomMeetingRequest {\n let m = new CreateZoomMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.iamUserId === 'undefined' &&\n typeof this.topic === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.startTime === 'undefined' &&\n typeof this.duration === 'undefined' &&\n typeof this.timezone === 'undefined' &&\n typeof this.password === 'undefined' &&\n typeof this.agenda === 'undefined' &&\n typeof this.trackingFields === 'undefined' &&\n typeof this.recurrence === 'undefined' &&\n typeof this.settings === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n return toReturn;\n }\n}\n\nexport class CreateZoomMeetingResponse implements i.CreateZoomMeetingResponseInterface {\n iamUserId: string;\n meetingId: number;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n createdAt: string;\n agenda: string;\n startUrl: string;\n joinUrl: string;\n password: string;\n h323Password: string;\n pmi: number;\n trackingFields: ZoomMeetingTrackingField[];\n occurrences: ZoomOccurrence[];\n settings: ZoomMeetingSettings;\n recurrence: ZoomMeetingRecurrence;\n\n static fromProto(proto: any): CreateZoomMeetingResponse {\n let m = new CreateZoomMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meetingId) {m.meetingId = parseInt(proto.meetingId, 10);}\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.pmi) {m.pmi = parseInt(proto.pmi, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.occurrences) {m.occurrences = proto.occurrences.map(ZoomOccurrence.fromProto);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.iamUserId === 'undefined' &&\n typeof this.meetingId === 'undefined' &&\n typeof this.topic === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.startTime === 'undefined' &&\n typeof this.duration === 'undefined' &&\n typeof this.timezone === 'undefined' &&\n typeof this.createdAt === 'undefined' &&\n typeof this.agenda === 'undefined' &&\n typeof this.startUrl === 'undefined' &&\n typeof this.joinUrl === 'undefined' &&\n typeof this.password === 'undefined' &&\n typeof this.h323Password === 'undefined' &&\n typeof this.pmi === 'undefined' &&\n typeof this.trackingFields === 'undefined' &&\n typeof this.occurrences === 'undefined' &&\n typeof this.settings === 'undefined' &&\n typeof this.recurrence === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.createdAt !== 'undefined') {toReturn['createdAt'] = this.createdAt;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.startUrl !== 'undefined') {toReturn['startUrl'] = this.startUrl;}\n if (typeof this.joinUrl !== 'undefined') {toReturn['joinUrl'] = this.joinUrl;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.h323Password !== 'undefined') {toReturn['h323Password'] = this.h323Password;}\n if (typeof this.pmi !== 'undefined') {toReturn['pmi'] = this.pmi;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.occurrences !== 'undefined' && this.occurrences !== null) {toReturn['occurrences'] = 'toApiJson' in this.occurrences ? (this.occurrences as any).toApiJson() : this.occurrences;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingRecurrence implements i.ZoomMeetingRecurrenceInterface {\n type: e.ZoomMeetingRecurrenceType;\n repeatInterval: number;\n weeklyDays: string;\n monthlyDay: number;\n monthlyWeek: e.ZoomMonthlyWeek;\n monthlyWeekDay: e.ZoomMonthlyWeekDay;\n endTimes: number;\n endDateTime: string;\n\n static fromProto(proto: any): ZoomMeetingRecurrence {\n let m = new ZoomMeetingRecurrence();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingRecurrenceType>(e.ZoomMeetingRecurrenceType, proto.type);}\n if (proto.repeatInterval) {m.repeatInterval = parseInt(proto.repeatInterval, 10);}\n if (proto.monthlyDay) {m.monthlyDay = parseInt(proto.monthlyDay, 10);}\n if (proto.monthlyWeek) {m.monthlyWeek = enumStringToValue<e.ZoomMonthlyWeek>(e.ZoomMonthlyWeek, proto.monthlyWeek);}\n if (proto.monthlyWeekDay) {m.monthlyWeekDay = enumStringToValue<e.ZoomMonthlyWeekDay>(e.ZoomMonthlyWeekDay, proto.monthlyWeekDay);}\n if (proto.endTimes) {m.endTimes = parseInt(proto.endTimes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingRecurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.type === 'undefined' &&\n typeof this.repeatInterval === 'undefined' &&\n typeof this.weeklyDays === 'undefined' &&\n typeof this.monthlyDay === 'undefined' &&\n typeof this.monthlyWeek === 'undefined' &&\n typeof this.monthlyWeekDay === 'undefined' &&\n typeof this.endTimes === 'undefined' &&\n typeof this.endDateTime === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.repeatInterval !== 'undefined') {toReturn['repeatInterval'] = this.repeatInterval;}\n if (typeof this.weeklyDays !== 'undefined') {toReturn['weeklyDays'] = this.weeklyDays;}\n if (typeof this.monthlyDay !== 'undefined') {toReturn['monthlyDay'] = this.monthlyDay;}\n if (typeof this.monthlyWeek !== 'undefined') {toReturn['monthlyWeek'] = this.monthlyWeek;}\n if (typeof this.monthlyWeekDay !== 'undefined') {toReturn['monthlyWeekDay'] = this.monthlyWeekDay;}\n if (typeof this.endTimes !== 'undefined') {toReturn['endTimes'] = this.endTimes;}\n if (typeof this.endDateTime !== 'undefined') {toReturn['endDateTime'] = this.endDateTime;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingSettings implements i.ZoomMeetingSettingsInterface {\n hostVideo: boolean;\n participantVideo: boolean;\n cnMeeting: boolean;\n inMeeting: boolean;\n joinBeforeHost: boolean;\n muteUponEntry: boolean;\n watermark: boolean;\n usePmi: boolean;\n approvalType: e.ZoomApprovalType;\n registrationType: e.ZoomRegistrationType;\n audio: string;\n autoRecording: string;\n alternativeHosts: string;\n closeRegistration: boolean;\n waitingRoom: boolean;\n globalDialInCountries: string[];\n contactName: string;\n contactEmail: string;\n registrationEmailNotification: boolean;\n meetingAuthentication: boolean;\n authenticationOptions: string;\n authenticationDomains: string;\n enforceLogin: boolean;\n enforceLoginDomains: string;\n\n static fromProto(proto: any): ZoomMeetingSettings {\n let m = new ZoomMeetingSettings();\n m = Object.assign(m, proto);\n if (proto.approvalType) {m.approvalType = enumStringToValue<e.ZoomApprovalType>(e.ZoomApprovalType, proto.approvalType);}\n if (proto.registrationType) {m.registrationType = enumStringToValue<e.ZoomRegistrationType>(e.ZoomRegistrationType, proto.registrationType);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingSettingsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostVideo === 'undefined' &&\n typeof this.participantVideo === 'undefined' &&\n typeof this.cnMeeting === 'undefined' &&\n typeof this.inMeeting === 'undefined' &&\n typeof this.joinBeforeHost === 'undefined' &&\n typeof this.muteUponEntry === 'undefined' &&\n typeof this.watermark === 'undefined' &&\n typeof this.usePmi === 'undefined' &&\n typeof this.approvalType === 'undefined' &&\n typeof this.registrationType === 'undefined' &&\n typeof this.audio === 'undefined' &&\n typeof this.autoRecording === 'undefined' &&\n typeof this.alternativeHosts === 'undefined' &&\n typeof this.closeRegistration === 'undefined' &&\n typeof this.waitingRoom === 'undefined' &&\n typeof this.globalDialInCountries === 'undefined' &&\n typeof this.contactName === 'undefined' &&\n typeof this.contactEmail === 'undefined' &&\n typeof this.registrationEmailNotification === 'undefined' &&\n typeof this.meetingAuthentication === 'undefined' &&\n typeof this.authenticationOptions === 'undefined' &&\n typeof this.authenticationDomains === 'undefined' &&\n typeof this.enforceLogin === 'undefined' &&\n typeof this.enforceLoginDomains === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostVideo !== 'undefined') {toReturn['hostVideo'] = this.hostVideo;}\n if (typeof this.participantVideo !== 'undefined') {toReturn['participantVideo'] = this.participantVideo;}\n if (typeof this.cnMeeting !== 'undefined') {toReturn['cnMeeting'] = this.cnMeeting;}\n if (typeof this.inMeeting !== 'undefined') {toReturn['inMeeting'] = this.inMeeting;}\n if (typeof this.joinBeforeHost !== 'undefined') {toReturn['joinBeforeHost'] = this.joinBeforeHost;}\n if (typeof this.muteUponEntry !== 'undefined') {toReturn['muteUponEntry'] = this.muteUponEntry;}\n if (typeof this.watermark !== 'undefined') {toReturn['watermark'] = this.watermark;}\n if (typeof this.usePmi !== 'undefined') {toReturn['usePmi'] = this.usePmi;}\n if (typeof this.approvalType !== 'undefined') {toReturn['approvalType'] = this.approvalType;}\n if (typeof this.registrationType !== 'undefined') {toReturn['registrationType'] = this.registrationType;}\n if (typeof this.audio !== 'undefined') {toReturn['audio'] = this.audio;}\n if (typeof this.autoRecording !== 'undefined') {toReturn['autoRecording'] = this.autoRecording;}\n if (typeof this.alternativeHosts !== 'undefined') {toReturn['alternativeHosts'] = this.alternativeHosts;}\n if (typeof this.closeRegistration !== 'undefined') {toReturn['closeRegistration'] = this.closeRegistration;}\n if (typeof this.waitingRoom !== 'undefined') {toReturn['waitingRoom'] = this.waitingRoom;}\n if (typeof this.globalDialInCountries !== 'undefined') {toReturn['globalDialInCountries'] = this.globalDialInCountries;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.contactEmail !== 'undefined') {toReturn['contactEmail'] = this.contactEmail;}\n if (typeof this.registrationEmailNotification !== 'undefined') {toReturn['registrationEmailNotification'] = this.registrationEmailNotification;}\n if (typeof this.meetingAuthentication !== 'undefined') {toReturn['meetingAuthentication'] = this.meetingAuthentication;}\n if (typeof this.authenticationOptions !== 'undefined') {toReturn['authenticationOptions'] = this.authenticationOptions;}\n if (typeof this.authenticationDomains !== 'undefined') {toReturn['authenticationDomains'] = this.authenticationDomains;}\n if (typeof this.enforceLogin !== 'undefined') {toReturn['enforceLogin'] = this.enforceLogin;}\n if (typeof this.enforceLoginDomains !== 'undefined') {toReturn['enforceLoginDomains'] = this.enforceLoginDomains;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingTrackingField implements i.ZoomMeetingTrackingFieldInterface {\n field: string;\n value: string;\n\n static fromProto(proto: any): ZoomMeetingTrackingField {\n let m = new ZoomMeetingTrackingField();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingTrackingFieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.field === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class ZoomOccurrence implements i.ZoomOccurrenceInterface {\n occurrenceId: string;\n startTime: string;\n duration: number;\n status: string;\n\n static fromProto(proto: any): ZoomOccurrence {\n let m = new ZoomOccurrence();\n m = Object.assign(m, proto);\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomOccurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.occurrenceId === 'undefined' &&\n typeof this.startTime === 'undefined' &&\n typeof this.duration === 'undefined' &&\n typeof this.status === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.occurrenceId !== 'undefined') {toReturn['occurrenceId'] = this.occurrenceId;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GoogleMeetConferenceData implements i.GoogleMeetConferenceDataInterface {\n conferenceId: string;\n conferenceSolution: GoogleMeetConferenceSolution;\n createRequest: GoogleMeetCreateConferenceRequest;\n entryPoints: GoogleMeetEntryPoint[];\n notes: string;\n signature: string;\n\n static fromProto(proto: any): GoogleMeetConferenceData {\n let m = new GoogleMeetConferenceData();\n m = Object.assign(m, proto);\n if (proto.conferenceSolution) {m.conferenceSolution = GoogleMeetConferenceSolution.fromProto(proto.conferenceSolution);}\n if (proto.createRequest) {m.createRequest = GoogleMeetCreateConferenceRequest.fromProto(proto.createRequest);}\n if (proto.entryPoints) {m.entryPoints = proto.entryPoints.map(GoogleMeetEntryPoint.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceDataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.conferenceId === 'undefined' &&\n typeof this.conferenceSolution === 'undefined' &&\n typeof this.createRequest === 'undefined' &&\n typeof this.entryPoints === 'undefined' &&\n typeof this.notes === 'undefined' &&\n typeof this.signature === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceId !== 'undefined') {toReturn['conferenceId'] = this.conferenceId;}\n if (typeof this.conferenceSolution !== 'undefined' && this.conferenceSolution !== null) {toReturn['conferenceSolution'] = 'toApiJson' in this.conferenceSolution ? (this.conferenceSolution as any).toApiJson() : this.conferenceSolution;}\n if (typeof this.createRequest !== 'undefined' && this.createRequest !== null) {toReturn['createRequest'] = 'toApiJson' in this.createRequest ? (this.createRequest as any).toApiJson() : this.createRequest;}\n if (typeof this.entryPoints !== 'undefined' && this.entryPoints !== null) {toReturn['entryPoints'] = 'toApiJson' in this.entryPoints ? (this.entryPoints as any).toApiJson() : this.entryPoints;}\n if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n if (typeof this.signature !== 'undefined') {toReturn['signature'] = this.signature;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceRequestStatus implements i.GoogleMeetConferenceRequestStatusInterface {\n statusCode: string;\n\n static fromProto(proto: any): GoogleMeetConferenceRequestStatus {\n let m = new GoogleMeetConferenceRequestStatus();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceRequestStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.statusCode === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.statusCode !== 'undefined') {toReturn['statusCode'] = this.statusCode;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolution implements i.GoogleMeetConferenceSolutionInterface {\n iconUri: string;\n key: GoogleMeetConferenceSolutionKey;\n name: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolution {\n let m = new GoogleMeetConferenceSolution();\n m = Object.assign(m, proto);\n if (proto.key) {m.key = GoogleMeetConferenceSolutionKey.fromProto(proto.key);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.iconUri === 'undefined' &&\n typeof this.key === 'undefined' &&\n typeof this.name === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iconUri !== 'undefined') {toReturn['iconUri'] = this.iconUri;}\n if (typeof this.key !== 'undefined' && this.key !== null) {toReturn['key'] = 'toApiJson' in this.key ? (this.key as any).toApiJson() : this.key;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolutionKey implements i.GoogleMeetConferenceSolutionKeyInterface {\n type: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolutionKey {\n let m = new GoogleMeetConferenceSolutionKey();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.type === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateConferenceRequest implements i.GoogleMeetCreateConferenceRequestInterface {\n conferenceSolutionKey: GoogleMeetConferenceSolutionKey;\n requestId: string;\n status: GoogleMeetConferenceRequestStatus;\n\n static fromProto(proto: any): GoogleMeetCreateConferenceRequest {\n let m = new GoogleMeetCreateConferenceRequest();\n m = Object.assign(m, proto);\n if (proto.conferenceSolutionKey) {m.conferenceSolutionKey = GoogleMeetConferenceSolutionKey.fromProto(proto.conferenceSolutionKey);}\n if (proto.status) {m.status = GoogleMeetConferenceRequestStatus.fromProto(proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateConferenceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.conferenceSolutionKey === 'undefined' &&\n typeof this.requestId === 'undefined' &&\n typeof this.status === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceSolutionKey !== 'undefined' && this.conferenceSolutionKey !== null) {toReturn['conferenceSolutionKey'] = 'toApiJson' in this.conferenceSolutionKey ? (this.conferenceSolutionKey as any).toApiJson() : this.conferenceSolutionKey;}\n if (typeof this.requestId !== 'undefined') {toReturn['requestId'] = this.requestId;}\n if (typeof this.status !== 'undefined' && this.status !== null) {toReturn['status'] = 'toApiJson' in this.status ? (this.status as any).toApiJson() : this.status;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingRequest implements i.GoogleMeetCreateMeetingRequestInterface {\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingRequest {\n let m = new GoogleMeetCreateMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calenderId === 'undefined' &&\n typeof this.meeting === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingResponse implements i.GoogleMeetCreateMeetingResponseInterface {\n iamUserId: string;\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingResponse {\n let m = new GoogleMeetCreateMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.iamUserId === 'undefined' &&\n typeof this.calenderId === 'undefined' &&\n typeof this.meeting === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetEntryPoint implements i.GoogleMeetEntryPointInterface {\n accessCode: string;\n entryPointFeatures: string[];\n entryPointType: string;\n label: string;\n meetingCode: string;\n passcode: string;\n password: string;\n pin: string;\n regionCode: string;\n uri: string;\n\n static fromProto(proto: any): GoogleMeetEntryPoint {\n let m = new GoogleMeetEntryPoint();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetEntryPointInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.accessCode === 'undefined' &&\n typeof this.entryPointFeatures === 'undefined' &&\n typeof this.entryPointType === 'undefined' &&\n typeof this.label === 'undefined' &&\n typeof this.meetingCode === 'undefined' &&\n typeof this.passcode === 'undefined' &&\n typeof this.password === 'undefined' &&\n typeof this.pin === 'undefined' &&\n typeof this.regionCode === 'undefined' &&\n typeof this.uri === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.accessCode !== 'undefined') {toReturn['accessCode'] = this.accessCode;}\n if (typeof this.entryPointFeatures !== 'undefined') {toReturn['entryPointFeatures'] = this.entryPointFeatures;}\n if (typeof this.entryPointType !== 'undefined') {toReturn['entryPointType'] = this.entryPointType;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.meetingCode !== 'undefined') {toReturn['meetingCode'] = this.meetingCode;}\n if (typeof this.passcode !== 'undefined') {toReturn['passcode'] = this.passcode;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.pin !== 'undefined') {toReturn['pin'] = this.pin;}\n if (typeof this.regionCode !== 'undefined') {toReturn['regionCode'] = this.regionCode;}\n if (typeof this.uri !== 'undefined') {toReturn['uri'] = this.uri;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeeting implements i.GoogleMeetMeetingInterface {\n anyoneCanAddSelf: boolean;\n attendees: GoogleMeetMeetingAttendee[];\n attendeesOmitted: boolean;\n colorId: string;\n conferenceData: GoogleMeetConferenceData;\n description: string;\n end: GoogleMeetMeetingDateTime;\n endTimeUnspecified: boolean;\n etag: string;\n icalUid: string;\n id: string;\n kind: string;\n location: string;\n locked: boolean;\n originalStartTime: GoogleMeetMeetingDateTime;\n recurrence: string[];\n recurringMeetingId: string;\n reminders: GoogleMeetMeetingReminders;\n sequence: number;\n start: GoogleMeetMeetingDateTime;\n status: string;\n summary: string;\n transparency: string;\n visibility: string;\n hangoutLink: string;\n htmlLink: string;\n created: string;\n creator: GoogleMeetMeetingCreator;\n updated: string;\n\n static fromProto(proto: any): GoogleMeetMeeting {\n let m = new GoogleMeetMeeting();\n m = Object.assign(m, proto);\n if (proto.attendees) {m.attendees = proto.attendees.map(GoogleMeetMeetingAttendee.fromProto);}\n if (proto.conferenceData) {m.conferenceData = GoogleMeetConferenceData.fromProto(proto.conferenceData);}\n if (proto.end) {m.end = GoogleMeetMeetingDateTime.fromProto(proto.end);}\n if (proto.originalStartTime) {m.originalStartTime = GoogleMeetMeetingDateTime.fromProto(proto.originalStartTime);}\n if (proto.reminders) {m.reminders = GoogleMeetMeetingReminders.fromProto(proto.reminders);}\n if (proto.sequence) {m.sequence = parseInt(proto.sequence, 10);}\n if (proto.start) {m.start = GoogleMeetMeetingDateTime.fromProto(proto.start);}\n if (proto.creator) {m.creator = GoogleMeetMeetingCreator.fromProto(proto.creator);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.anyoneCanAddSelf === 'undefined' &&\n typeof this.attendees === 'undefined' &&\n typeof this.attendeesOmitted === 'undefined' &&\n typeof this.colorId === 'undefined' &&\n typeof this.conferenceData === 'undefined' &&\n typeof this.description === 'undefined' &&\n typeof this.end === 'undefined' &&\n typeof this.endTimeUnspecified === 'undefined' &&\n typeof this.etag === 'undefined' &&\n typeof this.icalUid === 'undefined' &&\n typeof this.id === 'undefined' &&\n typeof this.kind === 'undefined' &&\n typeof this.location === 'undefined' &&\n typeof this.locked === 'undefined' &&\n typeof this.originalStartTime === 'undefined' &&\n typeof this.recurrence === 'undefined' &&\n typeof this.recurringMeetingId === 'undefined' &&\n typeof this.reminders === 'undefined' &&\n typeof this.sequence === 'undefined' &&\n typeof this.start === 'undefined' &&\n typeof this.status === 'undefined' &&\n typeof this.summary === 'undefined' &&\n typeof this.transparency === 'undefined' &&\n typeof this.visibility === 'undefined' &&\n typeof this.hangoutLink === 'undefined' &&\n typeof this.htmlLink === 'undefined' &&\n typeof this.created === 'undefined' &&\n typeof this.creator === 'undefined' &&\n typeof this.updated === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.anyoneCanAddSelf !== 'undefined') {toReturn['anyoneCanAddSelf'] = this.anyoneCanAddSelf;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.attendeesOmitted !== 'undefined') {toReturn['attendeesOmitted'] = this.attendeesOmitted;}\n if (typeof this.colorId !== 'undefined') {toReturn['colorId'] = this.colorId;}\n if (typeof this.conferenceData !== 'undefined' && this.conferenceData !== null) {toReturn['conferenceData'] = 'toApiJson' in this.conferenceData ? (this.conferenceData as any).toApiJson() : this.conferenceData;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.endTimeUnspecified !== 'undefined') {toReturn['endTimeUnspecified'] = this.endTimeUnspecified;}\n if (typeof this.etag !== 'undefined') {toReturn['etag'] = this.etag;}\n if (typeof this.icalUid !== 'undefined') {toReturn['icalUid'] = this.icalUid;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.kind !== 'undefined') {toReturn['kind'] = this.kind;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locked !== 'undefined') {toReturn['locked'] = this.locked;}\n if (typeof this.originalStartTime !== 'undefined' && this.originalStartTime !== null) {toReturn['originalStartTime'] = 'toApiJson' in this.originalStartTime ? (this.originalStartTime as any).toApiJson() : this.originalStartTime;}\n if (typeof this.recurrence !== 'undefined') {toReturn['recurrence'] = this.recurrence;}\n if (typeof this.recurringMeetingId !== 'undefined') {toReturn['recurringMeetingId'] = this.recurringMeetingId;}\n if (typeof this.reminders !== 'undefined' && this.reminders !== null) {toReturn['reminders'] = 'toApiJson' in this.reminders ? (this.reminders as any).toApiJson() : this.reminders;}\n if (typeof this.sequence !== 'undefined') {toReturn['sequence'] = this.sequence;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.summary !== 'undefined') {toReturn['summary'] = this.summary;}\n if (typeof this.transparency !== 'undefined') {toReturn['transparency'] = this.transparency;}\n if (typeof this.visibility !== 'undefined') {toReturn['visibility'] = this.visibility;}\n if (typeof this.hangoutLink !== 'undefined') {toReturn['hangoutLink'] = this.hangoutLink;}\n if (typeof this.htmlLink !== 'undefined') {toReturn['htmlLink'] = this.htmlLink;}\n if (typeof this.created !== 'undefined') {toReturn['created'] = this.created;}\n if (typeof this.creator !== 'undefined' && this.creator !== null) {toReturn['creator'] = 'toApiJson' in this.creator ? (this.creator as any).toApiJson() : this.creator;}\n if (typeof this.updated !== 'undefined') {toReturn['updated'] = this.updated;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingAttendee implements i.GoogleMeetMeetingAttendeeInterface {\n additionalGuests: number;\n comment: string;\n displayName: string;\n email: string;\n id: string;\n optional: boolean;\n organizer: boolean;\n resource: boolean;\n responseStatus: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingAttendee {\n let m = new GoogleMeetMeetingAttendee();\n m = Object.assign(m, proto);\n if (proto.additionalGuests) {m.additionalGuests = parseInt(proto.additionalGuests, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingAttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.additionalGuests === 'undefined' &&\n typeof this.comment === 'undefined' &&\n typeof this.displayName === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.id === 'undefined' &&\n typeof this.optional === 'undefined' &&\n typeof this.organizer === 'undefined' &&\n typeof this.resource === 'undefined' &&\n typeof this.responseStatus === 'undefined' &&\n typeof this.self === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.additionalGuests !== 'undefined') {toReturn['additionalGuests'] = this.additionalGuests;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.optional !== 'undefined') {toReturn['optional'] = this.optional;}\n if (typeof this.organizer !== 'undefined') {toReturn['organizer'] = this.organizer;}\n if (typeof this.resource !== 'undefined') {toReturn['resource'] = this.resource;}\n if (typeof this.responseStatus !== 'undefined') {toReturn['responseStatus'] = this.responseStatus;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingCreator implements i.GoogleMeetMeetingCreatorInterface {\n displayName: string;\n email: string;\n id: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingCreator {\n let m = new GoogleMeetMeetingCreator();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingCreatorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.displayName === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.id === 'undefined' &&\n typeof this.self === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingDateTime implements i.GoogleMeetMeetingDateTimeInterface {\n date: string;\n dateTime: string;\n timeZone: string;\n\n static fromProto(proto: any): GoogleMeetMeetingDateTime {\n let m = new GoogleMeetMeetingDateTime();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingDateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.date === 'undefined' &&\n typeof this.dateTime === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.date !== 'undefined') {toReturn['date'] = this.date;}\n if (typeof this.dateTime !== 'undefined') {toReturn['dateTime'] = this.dateTime;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminder implements i.GoogleMeetMeetingReminderInterface {\n method: string;\n minutes: number;\n\n static fromProto(proto: any): GoogleMeetMeetingReminder {\n let m = new GoogleMeetMeetingReminder();\n m = Object.assign(m, proto);\n if (proto.minutes) {m.minutes = parseInt(proto.minutes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingReminderInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.method === 'undefined' &&\n typeof this.minutes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.method !== 'undefined') {toReturn['method'] = this.method;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminders implements i.GoogleMeetMeetingRemindersInterface {\n overrides: GoogleMeetMeetingReminder[];\n useDefault: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingReminders {\n let m = new GoogleMeetMeetingReminders();\n m = Object.assign(m, proto);\n if (proto.overrides) {m.overrides = proto.overrides.map(GoogleMeetMeetingReminder.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingRemindersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.overrides === 'undefined' &&\n typeof this.useDefault === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.overrides !== 'undefined' && this.overrides !== null) {toReturn['overrides'] = 'toApiJson' in this.overrides ? (this.overrides as any).toApiJson() : this.overrides;}\n if (typeof this.useDefault !== 'undefined') {toReturn['useDefault'] = this.useDefault;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class TimeOfDay implements i.TimeOfDayInterface {\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n\n static fromProto(proto: any): TimeOfDay {\n let m = new TimeOfDay();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeOfDayInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hours === 'undefined' &&\n typeof this.minutes === 'undefined' &&\n typeof this.seconds === 'undefined' &&\n typeof this.nanos === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateTime implements i.DateTimeInterface {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n utcOffset: string;\n timeZone: TimeZone;\n\n static fromProto(proto: any): DateTime {\n let m = new DateTime();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.DateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.year === 'undefined' &&\n typeof this.month === 'undefined' &&\n typeof this.day === 'undefined' &&\n typeof this.hours === 'undefined' &&\n typeof this.minutes === 'undefined' &&\n typeof this.seconds === 'undefined' &&\n typeof this.nanos === 'undefined' &&\n typeof this.utcOffset === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.year !== 'undefined') {toReturn['year'] = this.year;}\n if (typeof this.month !== 'undefined') {toReturn['month'] = this.month;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n if (typeof this.utcOffset !== 'undefined') {toReturn['utcOffset'] = this.utcOffset;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class TimeZone implements i.TimeZoneInterface {\n id: string;\n version: string;\n\n static fromProto(proto: any): TimeZone {\n let m = new TimeZone();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeZoneInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.version === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.version !== 'undefined') {toReturn['version'] = this.version;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\nimport { TimeOfDay } from './timeofday';\nimport { TimeZone } from './datetime';\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Answer implements i.AnswerInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n answer: string[];\n\n static fromProto(proto: any): Answer {\n let m = new Answer();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.AnswerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.label === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.answer === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.answer !== 'undefined') {toReturn['answer'] = this.answer;}\n return toReturn;\n }\n}\n\nexport class Answers implements i.AnswersInterface {\n formAnswers: Answer[];\n\n static fromProto(proto: any): Answers {\n let m = new Answers();\n m = Object.assign(m, proto);\n if (proto.formAnswers) {m.formAnswers = proto.formAnswers.map(Answer.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AnswersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.formAnswers === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n return toReturn;\n }\n}\n\nexport class CalendarApplicationContextEntry implements i.CalendarApplicationContextEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): CalendarApplicationContextEntry {\n let m = new CalendarApplicationContextEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CalendarApplicationContextEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class Attachment implements i.AttachmentInterface {\n fileTitle: string;\n fileUrl: string;\n fileType: string;\n\n static fromProto(proto: any): Attachment {\n let m = new Attachment();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttachmentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.fileTitle === 'undefined' &&\n typeof this.fileUrl === 'undefined' &&\n typeof this.fileType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fileTitle !== 'undefined') {toReturn['fileTitle'] = this.fileTitle;}\n if (typeof this.fileUrl !== 'undefined') {toReturn['fileUrl'] = this.fileUrl;}\n if (typeof this.fileType !== 'undefined') {toReturn['fileType'] = this.fileType;}\n return toReturn;\n }\n}\n\nexport class Attendee implements i.AttendeeInterface {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone: string;\n isPrimary: boolean;\n\n static fromProto(proto: any): Attendee {\n let m = new Attendee();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.firstName === 'undefined' &&\n typeof this.lastName === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.phoneNumber === 'undefined' &&\n typeof this.timeZone === 'undefined' &&\n typeof this.isPrimary === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Calendar implements i.CalendarInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n bookingUrl: string;\n slug: string;\n externalId: string;\n creatorUserId: string;\n hostUserIds: string[];\n applicationContext: {[key: string]: string};\n calendarType: e.CalendarType;\n\n static fromProto(proto: any): Calendar {\n let m = new Calendar();\n m = Object.assign(m, proto);\n if (proto.applicationContext) {m.applicationContext = Object.keys(proto.applicationContext).reduce<any>((obj, k) => { obj[k] = proto.applicationContext[k]; return obj; }, {});}\n if (proto.calendarType) {m.calendarType = enumStringToValue<e.CalendarType>(e.CalendarType, proto.calendarType);}\n return m;\n }\n\n constructor(kwargs?: i.CalendarInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.displayName === 'undefined' &&\n typeof this.displayProfileUrl === 'undefined' &&\n typeof this.displayLogoUrl === 'undefined' &&\n typeof this.bookingUrl === 'undefined' &&\n typeof this.slug === 'undefined' &&\n typeof this.externalId === 'undefined' &&\n typeof this.creatorUserId === 'undefined' &&\n typeof this.hostUserIds === 'undefined' &&\n typeof this.applicationContext === 'undefined' &&\n typeof this.calendarType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n if (typeof this.creatorUserId !== 'undefined') {toReturn['creatorUserId'] = this.creatorUserId;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.applicationContext !== 'undefined' && this.applicationContext !== null) {toReturn['applicationContext'] = 'toApiJson' in this.applicationContext ? (this.applicationContext as any).toApiJson() : this.applicationContext;}\n if (typeof this.calendarType !== 'undefined') {toReturn['calendarType'] = this.calendarType;}\n return toReturn;\n }\n}\n\nexport class Contact implements i.ContactInterface {\n firstName: string;\n lastName: string;\n phoneNumber: string;\n email: string;\n timeZone: TimeZone;\n isPrimary: boolean;\n\n static fromProto(proto: any): Contact {\n let m = new Contact();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ContactInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.firstName === 'undefined' &&\n typeof this.lastName === 'undefined' &&\n typeof this.phoneNumber === 'undefined' &&\n typeof this.email === 'undefined' &&\n typeof this.timeZone === 'undefined' &&\n typeof this.isPrimary === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Host implements i.HostInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n\n static fromProto(proto: any): Host {\n let m = new Host();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.displayName === 'undefined' &&\n typeof this.displayProfileUrl === 'undefined' &&\n typeof this.displayLogoUrl === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class HostUser implements i.HostUserInterface {\n userId: string;\n displayName: string;\n isConfigured: boolean;\n\n static fromProto(proto: any): HostUser {\n let m = new HostUser();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostUserInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.displayName === 'undefined' &&\n typeof this.isConfigured === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.cursor === 'undefined' &&\n typeof this.pageSize === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.nextCursor === 'undefined' &&\n typeof this.hasMore === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class Preferences implements i.PreferencesInterface {\n timezone: TimeZone;\n meetingIntegration: e.MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n\n static fromProto(proto: any): Preferences {\n let m = new Preferences();\n m = Object.assign(m, proto);\n if (proto.timezone) {m.timezone = TimeZone.fromProto(proto.timezone);}\n if (proto.meetingIntegration) {m.meetingIntegration = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingIntegration);}\n if (proto.availabilityIncrement) {m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);}\n if (proto.bufferDurationAfterMeeting) {m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);}\n if (proto.noticeTime) {m.noticeTime = parseInt(proto.noticeTime, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PreferencesInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.timezone === 'undefined' &&\n typeof this.meetingIntegration === 'undefined' &&\n typeof this.availabilityIncrement === 'undefined' &&\n typeof this.bufferDurationAfterMeeting === 'undefined' &&\n typeof this.noticeTime === 'undefined' &&\n typeof this.calendarSlug === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timezone !== 'undefined' && this.timezone !== null) {toReturn['timezone'] = 'toApiJson' in this.timezone ? (this.timezone as any).toApiJson() : this.timezone;}\n if (typeof this.meetingIntegration !== 'undefined') {toReturn['meetingIntegration'] = this.meetingIntegration;}\n if (typeof this.availabilityIncrement !== 'undefined') {toReturn['availabilityIncrement'] = this.availabilityIncrement;}\n if (typeof this.bufferDurationAfterMeeting !== 'undefined') {toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;}\n if (typeof this.noticeTime !== 'undefined') {toReturn['noticeTime'] = this.noticeTime;}\n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n return toReturn;\n }\n}\n\nexport class TimeRange implements i.TimeRangeInterface {\n from: TimeOfDay;\n to: TimeOfDay;\n\n static fromProto(proto: any): TimeRange {\n let m = new TimeRange();\n m = Object.assign(m, proto);\n if (proto.from) {m.from = TimeOfDay.fromProto(proto.from);}\n if (proto.to) {m.to = TimeOfDay.fromProto(proto.to);}\n return m;\n }\n\n constructor(kwargs?: i.TimeRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.from === 'undefined' &&\n typeof this.to === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.from !== 'undefined' && this.from !== null) {toReturn['from'] = 'toApiJson' in this.from ? (this.from as any).toApiJson() : this.from;}\n if (typeof this.to !== 'undefined' && this.to !== null) {toReturn['to'] = 'toApiJson' in this.to ? (this.to as any).toApiJson() : this.to;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Field implements i.FieldInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n required: boolean;\n\n static fromProto(proto: any): Field {\n let m = new Field();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.FieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.label === 'undefined' &&\n typeof this.type === 'undefined' &&\n typeof this.required === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n return toReturn;\n }\n}\n\nexport class Form implements i.FormInterface {\n fields: Field[];\n\n static fromProto(proto: any): Form {\n let m = new Form();\n m = Object.assign(m, proto);\n if (proto.fields) {m.fields = proto.fields.map(Field.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.FormInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.fields === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fields !== 'undefined' && this.fields !== null) {toReturn['fields'] = 'toApiJson' in this.fields ? (this.fields as any).toApiJson() : this.fields;}\n return toReturn;\n }\n}\n\nexport class MeetingType implements i.MeetingTypeInterface {\n id: string;\n name: string;\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n meetingTypeSlug: string;\n isPrivate: boolean;\n form: Form;\n isReserveWithGoogleService: boolean;\n hostUserIds: string[];\n bookingUrl: string;\n\n static fromProto(proto: any): MeetingType {\n let m = new MeetingType();\n m = Object.assign(m, proto);\n if (proto.form) {m.form = Form.fromProto(proto.form);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.name === 'undefined' &&\n typeof this.duration === 'undefined' &&\n typeof this.calendarId === 'undefined' &&\n typeof this.description === 'undefined' &&\n typeof this.hexColor === 'undefined' &&\n typeof this.meetingTypeSlug === 'undefined' &&\n typeof this.isPrivate === 'undefined' &&\n typeof this.form === 'undefined' &&\n typeof this.isReserveWithGoogleService === 'undefined' &&\n typeof this.hostUserIds === 'undefined' &&\n typeof this.bookingUrl === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n if (typeof this.isPrivate !== 'undefined') {toReturn['isPrivate'] = this.isPrivate;}\n if (typeof this.form !== 'undefined' && this.form !== null) {toReturn['form'] = 'toApiJson' in this.form ? (this.form as any).toApiJson() : this.form;}\n if (typeof this.isReserveWithGoogleService !== 'undefined') {toReturn['isReserveWithGoogleService'] = this.isReserveWithGoogleService;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateRange implements i.DateRangeInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): DateRange {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.DateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.start === 'undefined' &&\n typeof this.end === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\nimport { Contact, Answers, Calendar, Host } from './shared';\nimport { DateRange } from './date-range';\nimport { MeetingType } from './meeting-type';\nimport { TimeZone } from './datetime';\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BookMeetingRequest implements i.BookMeetingRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n start: Date;\n comment: string;\n metadata: {[key: string]: string};\n formAnswers: Answers;\n recaptchaToken: string;\n\n static fromProto(proto: any): BookMeetingRequest {\n let m = new BookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined' &&\n typeof this.meetingTypeId === 'undefined' &&\n typeof this.timeSlot === 'undefined' &&\n typeof this.attendees === 'undefined' &&\n typeof this.start === 'undefined' &&\n typeof this.comment === 'undefined' &&\n typeof this.metadata === 'undefined' &&\n typeof this.formAnswers === 'undefined' &&\n typeof this.recaptchaToken === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.recaptchaToken !== 'undefined') {toReturn['recaptchaToken'] = this.recaptchaToken;}\n return toReturn;\n }\n}\n\nexport class BookMeetingResponse implements i.BookMeetingResponseInterface {\n meetingId: string;\n hostId: string;\n\n static fromProto(proto: any): BookMeetingResponse {\n let m = new BookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarRequest implements i.GetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): GetCalendarRequest {\n let m = new GetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarResponse implements i.GetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): GetCalendarResponse {\n let m = new GetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendar === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class GetHostRequest implements i.GetHostRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostRequest {\n let m = new GetHostRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostResponse implements i.GetHostResponseInterface {\n host: Host;\n\n static fromProto(proto: any): GetHostResponse {\n let m = new GetHostResponse();\n m = Object.assign(m, proto);\n if (proto.host) {m.host = Host.fromProto(proto.host);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.host === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.host !== 'undefined' && this.host !== null) {toReturn['host'] = 'toApiJson' in this.host ? (this.host as any).toApiJson() : this.host;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeRequest implements i.GetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): GetMeetingTypeRequest {\n let m = new GetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarSlug === 'undefined' &&\n typeof this.meetingTypeSlug === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeResponse implements i.GetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): GetMeetingTypeResponse {\n let m = new GetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class GuestCancelMeetingRequest implements i.GuestCancelMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n cancellationReason: string;\n\n static fromProto(proto: any): GuestCancelMeetingRequest {\n let m = new GuestCancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestCancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.authToken === 'undefined' &&\n typeof this.cancellationReason === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingRequest implements i.GuestGetBookedMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingRequest {\n let m = new GuestGetBookedMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.authToken === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingResponse implements i.GuestGetBookedMeetingResponseInterface {\n startTime: Date;\n endTime: Date;\n timeZone: TimeZone;\n meetingTypeId: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingResponse {\n let m = new GuestGetBookedMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.startTime) {m.startTime = new Date(proto.startTime);}\n if (proto.endTime) {m.endTime = new Date(proto.endTime);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.startTime === 'undefined' &&\n typeof this.endTime === 'undefined' &&\n typeof this.timeZone === 'undefined' &&\n typeof this.meetingTypeId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.startTime !== 'undefined' && this.startTime !== null) {toReturn['startTime'] = 'toApiJson' in this.startTime ? (this.startTime as any).toApiJson() : this.startTime;}\n if (typeof this.endTime !== 'undefined' && this.endTime !== null) {toReturn['endTime'] = 'toApiJson' in this.endTime ? (this.endTime as any).toApiJson() : this.endTime;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredRequest implements i.GuestIsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GuestIsHostConfiguredRequest {\n let m = new GuestIsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredResponse implements i.GuestIsHostConfiguredResponseInterface {\n isConfigured: boolean;\n\n static fromProto(proto: any): GuestIsHostConfiguredResponse {\n let m = new GuestIsHostConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.isConfigured === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class GuestRescheduleMeetingRequest implements i.GuestRescheduleMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n start: Date;\n timeZone: TimeZone;\n\n static fromProto(proto: any): GuestRescheduleMeetingRequest {\n let m = new GuestRescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.GuestRescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.authToken === 'undefined' &&\n typeof this.start === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsRequest implements i.ListAvailableTimeSlotsRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSpan: DateRange;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListAvailableTimeSlotsRequest {\n let m = new ListAvailableTimeSlotsRequest();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined' &&\n typeof this.meetingTypeId === 'undefined' &&\n typeof this.timeSpan === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsResponse implements i.ListAvailableTimeSlotsResponseInterface {\n timeSlots: DateRange[];\n\n static fromProto(proto: any): ListAvailableTimeSlotsResponse {\n let m = new ListAvailableTimeSlotsResponse();\n m = Object.assign(m, proto);\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(DateRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.timeSlots === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesRequest implements i.ListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListMeetingTypesRequest {\n let m = new ListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesResponse implements i.ListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): ListMeetingTypesResponse {\n let m = new ListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingTypes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class BookMeetingRequestMetadataEntry implements i.BookMeetingRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BookMeetingRequestMetadataEntry {\n let m = new BookMeetingRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\n\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.paths === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces/index';\nimport { DateRange } from './date-range';\nimport { FieldMask } from './field-mask';\nimport { MeetingType } from './meeting-type';\nimport { TimeRange, Calendar, Preferences, HostUser, Contact, PagedRequestOptions, PagedResponseMetadata, Attendee, Answers, Attachment } from './shared';\nimport { TimeZone } from './datetime';\nimport * as e from '../enums/index';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BuildHostIdRequestApplicationContextPropertiesEntry implements i.BuildHostIdRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BuildHostIdRequestApplicationContextPropertiesEntry {\n let m = new BuildHostIdRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry implements i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry {\n let m = new EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class AvailabilityRule implements i.AvailabilityRuleInterface {\n hostId: string;\n meetingTypeId: string;\n day: e.DayOfWeek;\n timeSlot: TimeRange;\n timeZone: TimeZone;\n\n static fromProto(proto: any): AvailabilityRule {\n let m = new AvailabilityRule();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.AvailabilityRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined' &&\n typeof this.meetingTypeId === 'undefined' &&\n typeof this.day === 'undefined' &&\n typeof this.timeSlot === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdRequest implements i.BuildHostIdRequestInterface {\n applicationContextProperties: {[key: string]: string};\n userId: string;\n\n static fromProto(proto: any): BuildHostIdRequest {\n let m = new BuildHostIdRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.applicationContextProperties === 'undefined' &&\n typeof this.userId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdResponse implements i.BuildHostIdResponseInterface {\n hostId: string;\n\n static fromProto(proto: any): BuildHostIdResponse {\n let m = new BuildHostIdResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry implements i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface {\n key: string;\n value: MeetingTypeList;\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry {\n let m = new GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = MeetingTypeList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CancelMeetingRequest implements i.CancelMeetingRequestInterface {\n meetingId: string;\n cancellationReason: string;\n\n static fromProto(proto: any): CancelMeetingRequest {\n let m = new CancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.cancellationReason === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class CreateAvailabilityRequest implements i.CreateAvailabilityRequestInterface {\n\n static fromProto(proto: any): CreateAvailabilityRequest {\n let m = new CreateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateAvailabilityResponse implements i.CreateAvailabilityResponseInterface {\n\n static fromProto(proto: any): CreateAvailabilityResponse {\n let m = new CreateAvailabilityResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateCalendarRequest implements i.CreateCalendarRequestInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): CreateCalendarRequest {\n let m = new CreateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendar === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class CreateCalendarResponse implements i.CreateCalendarResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): CreateCalendarResponse {\n let m = new CreateCalendarResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class CreateDefaultMeetingTypesRequest implements i.CreateDefaultMeetingTypesRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): CreateDefaultMeetingTypesRequest {\n let m = new CreateDefaultMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateDefaultMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeRequest implements i.CreateMeetingTypeRequestInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): CreateMeetingTypeRequest {\n let m = new CreateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeResponse implements i.CreateMeetingTypeResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateMeetingTypeResponse {\n let m = new CreateMeetingTypeResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteAvailabilityRequest implements i.DeleteAvailabilityRequestInterface {\n\n static fromProto(proto: any): DeleteAvailabilityRequest {\n let m = new DeleteAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class DeleteMeetingTypeRequest implements i.DeleteMeetingTypeRequestInterface {\n id: string;\n\n static fromProto(proto: any): DeleteMeetingTypeRequest {\n let m = new DeleteMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistRequest implements i.DoesCalendarExistRequestInterface {\n calendarIdentifier: string;\n\n static fromProto(proto: any): DoesCalendarExistRequest {\n let m = new DoesCalendarExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarIdentifier === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIdentifier !== 'undefined') {toReturn['calendarIdentifier'] = this.calendarIdentifier;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistResponse implements i.DoesCalendarExistResponseInterface {\n exists: boolean;\n\n static fromProto(proto: any): DoesCalendarExistResponse {\n let m = new DoesCalendarExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.exists === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistRequest implements i.EnsureGroupCalendarsExistRequestInterface {\n externalIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistRequest {\n let m = new EnsureGroupCalendarsExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.externalIds === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.externalIds !== 'undefined') {toReturn['externalIds'] = this.externalIds;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistResponse implements i.EnsureGroupCalendarsExistResponseInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistResponse {\n let m = new EnsureGroupCalendarsExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarIds === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequest implements i.EnsurePersonalCalendarExistsRequestInterface {\n userId: string;\n applicationContextProperties: {[key: string]: string};\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequest {\n let m = new EnsurePersonalCalendarExistsRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.userId === 'undefined' &&\n typeof this.applicationContextProperties === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsResponse implements i.EnsurePersonalCalendarExistsResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsResponse {\n let m = new EnsurePersonalCalendarExistsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequestFilters implements i.ListAvailabilityRequestFiltersInterface {\n hostId: string;\n meetingTypeId: string;\n\n static fromProto(proto: any): ListAvailabilityRequestFilters {\n let m = new ListAvailabilityRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined' &&\n typeof this.meetingTypeId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequestFilters implements i.ListBookedMeetingsRequestFiltersInterface {\n meetingTypeIds: string[];\n hostId: string;\n timeSpan: DateRange;\n\n static fromProto(proto: any): ListBookedMeetingsRequestFilters {\n let m = new ListBookedMeetingsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingTypeIds === 'undefined' &&\n typeof this.hostId === 'undefined' &&\n typeof this.timeSpan === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypeIds !== 'undefined') {toReturn['meetingTypeIds'] = this.meetingTypeIds;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingRequest implements i.GetHostMeetingRequestInterface {\n meetingId: string;\n location: string;\n\n static fromProto(proto: any): GetHostMeetingRequest {\n let m = new GetHostMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.location === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingResponse implements i.GetHostMeetingResponseInterface {\n meeting: Meeting;\n\n static fromProto(proto: any): GetHostMeetingResponse {\n let m = new GetHostMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = Meeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meeting === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesRequest implements i.GetHostPreferencesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostPreferencesRequest {\n let m = new GetHostPreferencesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesResponse implements i.GetHostPreferencesResponseInterface {\n preferences: Preferences;\n\n static fromProto(proto: any): GetHostPreferencesResponse {\n let m = new GetHostPreferencesResponse();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.preferences === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarRequest implements i.GetHostsForCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): GetHostsForCalendarRequest {\n let m = new GetHostsForCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarResponse implements i.GetHostsForCalendarResponseInterface {\n hostUsers: HostUser[];\n\n static fromProto(proto: any): GetHostsForCalendarResponse {\n let m = new GetHostsForCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.hostUsers) {m.hostUsers = proto.hostUsers.map(HostUser.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostUsers === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostUsers !== 'undefined' && this.hostUsers !== null) {toReturn['hostUsers'] = 'toApiJson' in this.hostUsers ? (this.hostUsers as any).toApiJson() : this.hostUsers;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsRequest implements i.GetMeetingTypesForCalendarsRequestInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsRequest {\n let m = new GetMeetingTypesForCalendarsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarIds === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponse implements i.GetMeetingTypesForCalendarsResponseInterface {\n calendarMeetingTypesMap: {[key: string]: MeetingTypeList};\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponse {\n let m = new GetMeetingTypesForCalendarsResponse();\n m = Object.assign(m, proto);\n if (proto.calendarMeetingTypesMap) {m.calendarMeetingTypesMap = Object.keys(proto.calendarMeetingTypesMap).reduce<any>((obj, k) => { obj[k] = MeetingTypeList.fromProto(proto.calendarMeetingTypesMap[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarMeetingTypesMap === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarMeetingTypesMap !== 'undefined' && this.calendarMeetingTypesMap !== null) {toReturn['calendarMeetingTypesMap'] = 'toApiJson' in this.calendarMeetingTypesMap ? (this.calendarMeetingTypesMap as any).toApiJson() : this.calendarMeetingTypesMap;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingRequest implements i.HostBookMeetingRequestInterface {\n meetingSource: e.MeetingSource;\n calendarId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n topic: string;\n\n static fromProto(proto: any): HostBookMeetingRequest {\n let m = new HostBookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meetingSource) {m.meetingSource = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingSource);}\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingSource === 'undefined' &&\n typeof this.calendarId === 'undefined' &&\n typeof this.meetingTypeId === 'undefined' &&\n typeof this.timeSlot === 'undefined' &&\n typeof this.attendees === 'undefined' &&\n typeof this.topic === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingSource !== 'undefined') {toReturn['meetingSource'] = this.meetingSource;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingResponse implements i.HostBookMeetingResponseInterface {\n meetingId: string;\n\n static fromProto(proto: any): HostBookMeetingResponse {\n let m = new HostBookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarRequest implements i.HostGetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): HostGetCalendarRequest {\n let m = new HostGetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarResponse implements i.HostGetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): HostGetCalendarResponse {\n let m = new HostGetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendar === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeRequest implements i.HostGetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): HostGetMeetingTypeRequest {\n let m = new HostGetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarSlug === 'undefined' &&\n typeof this.meetingTypeSlug === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeResponse implements i.HostGetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): HostGetMeetingTypeResponse {\n let m = new HostGetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingType === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesRequest implements i.HostListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): HostListMeetingTypesRequest {\n let m = new HostListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesResponse implements i.HostListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): HostListMeetingTypesResponse {\n let m = new HostListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingTypes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredRequest implements i.IsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): IsHostConfiguredRequest {\n let m = new IsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredResponse implements i.IsHostConfiguredResponseInterface {\n isConfigured: boolean;\n\n static fromProto(proto: any): IsHostConfiguredResponse {\n let m = new IsHostConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.isConfigured === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequest implements i.ListAvailabilityRequestInterface {\n pagingOptions: PagedRequestOptions;\n filters: ListAvailabilityRequestFilters;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListAvailabilityRequest {\n let m = new ListAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListAvailabilityRequestFilters.fromProto(proto.filters);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.pagingOptions === 'undefined' &&\n typeof this.filters === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityResponse implements i.ListAvailabilityResponseInterface {\n availabilityRules: AvailabilityRule[];\n metadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListAvailabilityResponse {\n let m = new ListAvailabilityResponse();\n m = Object.assign(m, proto);\n if (proto.availabilityRules) {m.availabilityRules = proto.availabilityRules.map(AvailabilityRule.fromProto);}\n if (proto.metadata) {m.metadata = PagedResponseMetadata.fromProto(proto.metadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.availabilityRules === 'undefined' &&\n typeof this.metadata === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.availabilityRules !== 'undefined' && this.availabilityRules !== null) {toReturn['availabilityRules'] = 'toApiJson' in this.availabilityRules ? (this.availabilityRules as any).toApiJson() : this.availabilityRules;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequest implements i.ListBookedMeetingsRequestInterface {\n filters: ListBookedMeetingsRequestFilters;\n pagingOptions: PagedRequestOptions;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListBookedMeetingsRequest {\n let m = new ListBookedMeetingsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBookedMeetingsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.filters === 'undefined' &&\n typeof this.pagingOptions === 'undefined' &&\n typeof this.timeZone === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsResponse implements i.ListBookedMeetingsResponseInterface {\n meetings: Meeting[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBookedMeetingsResponse {\n let m = new ListBookedMeetingsResponse();\n m = Object.assign(m, proto);\n if (proto.meetings) {m.meetings = proto.meetings.map(Meeting.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetings === 'undefined' &&\n typeof this.pagingMetadata === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetings !== 'undefined' && this.meetings !== null) {toReturn['meetings'] = 'toApiJson' in this.meetings ? (this.meetings as any).toApiJson() : this.meetings;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Meeting implements i.MeetingInterface {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n created: Date;\n updated: Date;\n attendees: Attendee[];\n description: string;\n joinMeetingUrl: string;\n topic: string;\n formAnswers: Answers;\n metadata: {[key: string]: string};\n attachments: Attachment[];\n\n static fromProto(proto: any): Meeting {\n let m = new Meeting();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Attendee.fromProto);}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.eventTypeId === 'undefined' &&\n typeof this.hostId === 'undefined' &&\n typeof this.start === 'undefined' &&\n typeof this.end === 'undefined' &&\n typeof this.created === 'undefined' &&\n typeof this.updated === 'undefined' &&\n typeof this.attendees === 'undefined' &&\n typeof this.description === 'undefined' &&\n typeof this.joinMeetingUrl === 'undefined' &&\n typeof this.topic === 'undefined' &&\n typeof this.formAnswers === 'undefined' &&\n typeof this.metadata === 'undefined' &&\n typeof this.attachments === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.eventTypeId !== 'undefined') {toReturn['eventTypeId'] = this.eventTypeId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.joinMeetingUrl !== 'undefined') {toReturn['joinMeetingUrl'] = this.joinMeetingUrl;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n return toReturn;\n }\n}\n\nexport class MeetingTypeList implements i.MeetingTypeListInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): MeetingTypeList {\n let m = new MeetingTypeList();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingTypes === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class MeetingMetadataEntry implements i.MeetingMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MeetingMetadataEntry {\n let m = new MeetingMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MeetingMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequestMetadataEntry implements i.UpdateMeetingMetadataRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): UpdateMeetingMetadataRequestMetadataEntry {\n let m = new UpdateMeetingMetadataRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.key === 'undefined' &&\n typeof this.value === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class RescheduleMeetingRequest implements i.RescheduleMeetingRequestInterface {\n meetingId: string;\n start: Date;\n\n static fromProto(proto: any): RescheduleMeetingRequest {\n let m = new RescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n return m;\n }\n\n constructor(kwargs?: i.RescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.start === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n return toReturn;\n }\n}\n\nexport class SetGeneralAvailabilityRequest implements i.SetGeneralAvailabilityRequestInterface {\n hostId: string;\n meetingTypeId: string;\n days: e.DayOfWeek[];\n timeSlot: TimeRange;\n timeZone: TimeZone;\n weekdaysAvailability: WeekdayAvailability[];\n\n static fromProto(proto: any): SetGeneralAvailabilityRequest {\n let m = new SetGeneralAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.days) {m.days = proto.days.map((v: string) => enumStringToValue<e.DayOfWeek>(e.DayOfWeek, v));}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n if (proto.weekdaysAvailability) {m.weekdaysAvailability = proto.weekdaysAvailability.map(WeekdayAvailability.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SetGeneralAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined' &&\n typeof this.meetingTypeId === 'undefined' &&\n typeof this.days === 'undefined' &&\n typeof this.timeSlot === 'undefined' &&\n typeof this.timeZone === 'undefined' &&\n typeof this.weekdaysAvailability === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.days !== 'undefined') {toReturn['days'] = this.days;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.weekdaysAvailability !== 'undefined' && this.weekdaysAvailability !== null) {toReturn['weekdaysAvailability'] = 'toApiJson' in this.weekdaysAvailability ? (this.weekdaysAvailability as any).toApiJson() : this.weekdaysAvailability;}\n return toReturn;\n }\n}\n\nexport class UpdateAvailabilityRequest implements i.UpdateAvailabilityRequestInterface {\n\n static fromProto(proto: any): UpdateAvailabilityRequest {\n let m = new UpdateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpdateCalendarRequest implements i.UpdateCalendarRequestInterface {\n calendarId: string;\n calendarUpdate: Calendar;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateCalendarRequest {\n let m = new UpdateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendarUpdate) {m.calendarUpdate = Calendar.fromProto(proto.calendarUpdate);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.calendarId === 'undefined' &&\n typeof this.calendarUpdate === 'undefined' &&\n typeof this.fieldMask === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarUpdate !== 'undefined' && this.calendarUpdate !== null) {toReturn['calendarUpdate'] = 'toApiJson' in this.calendarUpdate ? (this.calendarUpdate as any).toApiJson() : this.calendarUpdate;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateHostPreferencesRequest implements i.UpdateHostPreferencesRequestInterface {\n hostId: string;\n preferences: Preferences;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateHostPreferencesRequest {\n let m = new UpdateHostPreferencesRequest();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.hostId === 'undefined' &&\n typeof this.preferences === 'undefined' &&\n typeof this.fieldMask === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequest implements i.UpdateMeetingMetadataRequestInterface {\n meetingId: string;\n metadata: {[key: string]: string};\n\n static fromProto(proto: any): UpdateMeetingMetadataRequest {\n let m = new UpdateMeetingMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.meetingId === 'undefined' &&\n typeof this.metadata === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingTypeRequest implements i.UpdateMeetingTypeRequestInterface {\n id: string;\n meetingType: MeetingType;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateMeetingTypeRequest {\n let m = new UpdateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.id === 'undefined' &&\n typeof this.meetingType === 'undefined' &&\n typeof this.fieldMask === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class WeekdayAvailability implements i.WeekdayAvailabilityInterface {\n day: e.DayOfWeek;\n timeSlots: TimeRange[];\n\n static fromProto(proto: any): WeekdayAvailability {\n let m = new WeekdayAvailability();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(TimeRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.WeekdayAvailabilityInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n if (\n typeof this.day === 'undefined' &&\n typeof this.timeSlots === 'undefined') {\n return {};\n }\n \n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n MeetingSourceInfo,\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n MeetingSourceQuery,\n} from './meeting-source';\n\nexport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n ZoomMeetingRecurrence,\n ZoomMeetingSettings,\n ZoomMeetingTrackingField,\n ZoomOccurrence,\n} from './zoom';\n\nexport {\n GoogleMeetConferenceData,\n GoogleMeetConferenceRequestStatus,\n GoogleMeetConferenceSolution,\n GoogleMeetConferenceSolutionKey,\n GoogleMeetCreateConferenceRequest,\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n GoogleMeetEntryPoint,\n GoogleMeetMeeting,\n GoogleMeetMeetingAttendee,\n GoogleMeetMeetingCreator,\n GoogleMeetMeetingDateTime,\n GoogleMeetMeetingReminder,\n GoogleMeetMeetingReminders,\n} from './google-meet';\n\nexport {\n TimeOfDay,\n} from './timeofday';\n\nexport {\n DateTime,\n TimeZone,\n} from './datetime';\n\nexport {\n Answer,\n Answers,\n CalendarApplicationContextEntry,\n Attachment,\n Attendee,\n Calendar,\n Contact,\n Host,\n HostUser,\n PagedRequestOptions,\n PagedResponseMetadata,\n Preferences,\n TimeRange,\n} from './shared';\n\nexport {\n Field,\n Form,\n MeetingType,\n} from './meeting-type';\n\nexport {\n DateRange,\n} from './date-range';\n\nexport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n BookMeetingRequestMetadataEntry,\n} from './meeting-guest';\n\nexport {\n} from './dayofweek';\n\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n BuildHostIdRequestApplicationContextPropertiesEntry,\n EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry,\n AvailabilityRule,\n BuildHostIdRequest,\n BuildHostIdResponse,\n GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry,\n CancelMeetingRequest,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n DeleteAvailabilityRequest,\n DeleteMeetingTypeRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n ListBookedMeetingsRequestFilters,\n ListAvailabilityRequestFilters,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n Meeting,\n MeetingTypeList,\n MeetingMetadataEntry,\n UpdateMeetingMetadataRequestMetadataEntry,\n RescheduleMeetingRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n WeekdayAvailability,\n} from './meeting-host';\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable()\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'meetings-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'meetings-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'meetings-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'meetings.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'meetings-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'meetings-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n} from './objects/';\nimport {\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetCreateMeetingResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable()\nexport class GoogleMeetApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: GoogleMeetCreateMeetingRequest | GoogleMeetCreateMeetingRequestInterface): Observable<GoogleMeetCreateMeetingResponse> {\n const request = ((<GoogleMeetCreateMeetingRequest>r).toApiJson) ? (<GoogleMeetCreateMeetingRequest>r) : new GoogleMeetCreateMeetingRequest(r);\n return this.http.post<GoogleMeetCreateMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.GoogleMeet/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GoogleMeetCreateMeetingResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n} from './objects/';\nimport {\n BookMeetingRequestInterface,\n BookMeetingResponseInterface,\n GetCalendarRequestInterface,\n GetCalendarResponseInterface,\n GetHostRequestInterface,\n GetHostResponseInterface,\n GetMeetingTypeRequestInterface,\n GetMeetingTypeResponseInterface,\n GuestCancelMeetingRequestInterface,\n GuestGetBookedMeetingRequestInterface,\n GuestGetBookedMeetingResponseInterface,\n GuestIsHostConfiguredRequestInterface,\n GuestIsHostConfiguredResponseInterface,\n GuestRescheduleMeetingRequestInterface,\n ListAvailableTimeSlotsRequestInterface,\n ListAvailableTimeSlotsResponseInterface,\n ListMeetingTypesRequestInterface,\n ListMeetingTypesResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable()\nexport class MeetingGuestApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listMeetingTypes(r: ListMeetingTypesRequest | ListMeetingTypesRequestInterface): Observable<ListMeetingTypesResponse> {\n const request = ((<ListMeetingTypesRequest>r).toApiJson) ? (<ListMeetingTypesRequest>r) : new ListMeetingTypesRequest(r);\n return this.http.post<ListMeetingTypesResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMeetingTypesResponse.fromProto(resp)),\n share()\n );\n }\n getMeetingType(r: GetMeetingTypeRequest | GetMeetingTypeRequestInterface): Observable<GetMeetingTypeResponse> {\n const request = ((<GetMeetingTypeRequest>r).toApiJson) ? (<GetMeetingTypeRequest>r) : new GetMeetingTypeRequest(r);\n return this.http.post<GetMeetingTypeResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypeResponse.fromProto(resp)),\n share()\n );\n }\n listAvailableTimeSlots(r: ListAvailableTimeSlotsRequest | ListAvailableTimeSlotsRequestInterface): Observable<ListAvailableTimeSlotsResponse> {\n const request = ((<ListAvailableTimeSlotsRequest>r).toApiJson) ? (<ListAvailableTimeSlotsRequest>r) : new ListAvailableTimeSlotsRequest(r);\n return this.http.post<ListAvailableTimeSlotsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/ListAvailableTimeSlots\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailableTimeSlotsResponse.fromProto(resp)),\n share()\n );\n }\n bookMeeting(r: BookMeetingRequest | BookMeetingRequestInterface): Observable<BookMeetingResponse> {\n const request = ((<BookMeetingRequest>r).toApiJson) ? (<BookMeetingRequest>r) : new BookMeetingRequest(r);\n return this.http.post<BookMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BookMeetingResponse.fromProto(resp)),\n share()\n );\n }\n cancelMeeting(r: GuestCancelMeetingRequest | GuestCancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestCancelMeetingRequest>r).toApiJson) ? (<GuestCancelMeetingRequest>r) : new GuestCancelMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: GuestRescheduleMeetingRequest | GuestRescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestRescheduleMeetingRequest>r).toApiJson) ? (<GuestRescheduleMeetingRequest>r) : new GuestRescheduleMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getGuestBookedMeeting(r: GuestGetBookedMeetingRequest | GuestGetBookedMeetingRequestInterface): Observable<GuestGetBookedMeetingResponse> {\n const request = ((<GuestGetBookedMeetingRequest>r).toApiJson) ? (<GuestGetBookedMeetingRequest>r) : new GuestGetBookedMeetingRequest(r);\n return this.http.post<GuestGetBookedMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetGuestBookedMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestGetBookedMeetingResponse.fromProto(resp)),\n share()\n );\n }\n getCalendar(r: GetCalendarRequest | GetCalendarRequestInterface): Observable<GetCalendarResponse> {\n const request = ((<GetCalendarRequest>r).toApiJson) ? (<GetCalendarRequest>r) : new GetCalendarRequest(r);\n return this.http.post<GetCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetCalendarResponse.fromProto(resp)),\n share()\n );\n }\n getHost(r: GetHostRequest | GetHostRequestInterface): Observable<GetHostResponse> {\n const request = ((<GetHostRequest>r).toApiJson) ? (<GetHostRequest>r) : new GetHostRequest(r);\n return this.http.post<GetHostResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/GetHost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostResponse.fromProto(resp)),\n share()\n );\n }\n isHostConfigured(r: GuestIsHostConfiguredRequest | GuestIsHostConfiguredRequestInterface): Observable<GuestIsHostConfiguredResponse> {\n const request = ((<GuestIsHostConfiguredRequest>r).toApiJson) ? (<GuestIsHostConfiguredRequest>r) : new GuestIsHostConfiguredRequest(r);\n return this.http.post<GuestIsHostConfiguredResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingGuest/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestIsHostConfiguredResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BuildHostIdRequest,\n BuildHostIdResponse,\n CancelMeetingRequest,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n DeleteAvailabilityRequest,\n DeleteMeetingTypeRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n RescheduleMeetingRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n} from './objects/';\nimport {\n BuildHostIdRequestInterface,\n BuildHostIdResponseInterface,\n CancelMeetingRequestInterface,\n CreateAvailabilityRequestInterface,\n CreateAvailabilityResponseInterface,\n CreateCalendarRequestInterface,\n CreateCalendarResponseInterface,\n CreateDefaultMeetingTypesRequestInterface,\n CreateMeetingTypeRequestInterface,\n CreateMeetingTypeResponseInterface,\n DeleteAvailabilityRequestInterface,\n DeleteMeetingTypeRequestInterface,\n DoesCalendarExistRequestInterface,\n DoesCalendarExistResponseInterface,\n EnsureGroupCalendarsExistRequestInterface,\n EnsureGroupCalendarsExistResponseInterface,\n EnsurePersonalCalendarExistsRequestInterface,\n EnsurePersonalCalendarExistsResponseInterface,\n GetHostMeetingRequestInterface,\n GetHostMeetingResponseInterface,\n GetHostPreferencesRequestInterface,\n GetHostPreferencesResponseInterface,\n GetHostsForCalendarRequestInterface,\n GetHostsForCalendarResponseInterface,\n GetMeetingTypesForCalendarsRequestInterface,\n GetMeetingTypesForCalendarsResponseInterface,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponseInterface,\n HostGetCalendarRequestInterface,\n HostGetCalendarResponseInterface,\n HostGetMeetingTypeRequestInterface,\n HostGetMeetingTypeResponseInterface,\n HostListMeetingTypesRequestInterface,\n HostListMeetingTypesResponseInterface,\n IsHostConfiguredRequestInterface,\n IsHostConfiguredResponseInterface,\n ListAvailabilityRequestInterface,\n ListAvailabilityResponseInterface,\n ListBookedMeetingsRequestInterface,\n ListBookedMeetingsResponseInterface,\n RescheduleMeetingRequestInterface,\n SetGeneralAvailabilityRequestInterface,\n UpdateAvailabilityRequestInterface,\n UpdateCalendarRequestInterface,\n UpdateHostPreferencesRequestInterface,\n UpdateMeetingMetadataRequestInterface,\n UpdateMeetingTypeRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable()\nexport class MeetingHostApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n buildHostId(r: BuildHostIdRequest | BuildHostIdRequestInterface): Observable<BuildHostIdResponse> {\n const request = ((<BuildHostIdRequest>r).toApiJson) ? (<BuildHostIdRequest>r) : new BuildHostIdRequest(r);\n return this.http.post<BuildHostIdResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/BuildHostId\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BuildHostIdResponse.fromProto(resp)),\n share()\n );\n }\n doesCalendarExist(r: DoesCalendarExistRequest | DoesCalendarExistRequestInterface): Observable<DoesCalendarExistResponse> {\n const request = ((<DoesCalendarExistRequest>r).toApiJson) ? (<DoesCalendarExistRequest>r) : new DoesCalendarExistRequest(r);\n return this.http.post<DoesCalendarExistResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/DoesCalendarExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DoesCalendarExistResponse.fromProto(resp)),\n share()\n );\n }\n createCalendar(r: CreateCalendarRequest | CreateCalendarRequestInterface): Observable<CreateCalendarResponse> {\n const request = ((<CreateCalendarRequest>r).toApiJson) ? (<CreateCalendarRequest>r) : new CreateCalendarRequest(r);\n return this.http.post<CreateCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateCalendarResponse.fromProto(resp)),\n share()\n );\n }\n updateCalendar(r: UpdateCalendarRequest | UpdateCalendarRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateCalendarRequest>r).toApiJson) ? (<UpdateCalendarRequest>r) : new UpdateCalendarRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateCalendar\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getCalendar(r: HostGetCalendarRequest | HostGetCalendarRequestInterface): Observable<HostGetCalendarResponse> {\n const request = ((<HostGetCalendarRequest>r).toApiJson) ? (<HostGetCalendarRequest>r) : new HostGetCalendarRequest(r);\n return this.http.post<HostGetCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetCalendarResponse.fromProto(resp)),\n share()\n );\n }\n ensurePersonalCalendarExists(r: EnsurePersonalCalendarExistsRequest | EnsurePersonalCalendarExistsRequestInterface): Observable<EnsurePersonalCalendarExistsResponse> {\n const request = ((<EnsurePersonalCalendarExistsRequest>r).toApiJson) ? (<EnsurePersonalCalendarExistsRequest>r) : new EnsurePersonalCalendarExistsRequest(r);\n return this.http.post<EnsurePersonalCalendarExistsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/EnsurePersonalCalendarExists\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsurePersonalCalendarExistsResponse.fromProto(resp)),\n share()\n );\n }\n ensureGroupCalendarsExist(r: EnsureGroupCalendarsExistRequest | EnsureGroupCalendarsExistRequestInterface): Observable<EnsureGroupCalendarsExistResponse> {\n const request = ((<EnsureGroupCalendarsExistRequest>r).toApiJson) ? (<EnsureGroupCalendarsExistRequest>r) : new EnsureGroupCalendarsExistRequest(r);\n return this.http.post<EnsureGroupCalendarsExistResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/EnsureGroupCalendarsExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsureGroupCalendarsExistResponse.fromProto(resp)),\n share()\n );\n }\n getHostsForCalendar(r: GetHostsForCalendarRequest | GetHostsForCalendarRequestInterface): Observable<GetHostsForCalendarResponse> {\n const request = ((<GetHostsForCalendarRequest>r).toApiJson) ? (<GetHostsForCalendarRequest>r) : new GetHostsForCalendarRequest(r);\n return this.http.post<GetHostsForCalendarResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetHostsForCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostsForCalendarResponse.fromProto(resp)),\n share()\n );\n }\n getMeetingTypesForCalendars(r: GetMeetingTypesForCalendarsRequest | GetMeetingTypesForCalendarsRequestInterface): Observable<GetMeetingTypesForCalendarsResponse> {\n const request = ((<GetMeetingTypesForCalendarsRequest>r).toApiJson) ? (<GetMeetingTypesForCalendarsRequest>r) : new GetMeetingTypesForCalendarsRequest(r);\n return this.http.post<GetMeetingTypesForCalendarsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetMeetingTypesForCalendars\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypesForCalendarsResponse.fromProto(resp)),\n share()\n );\n }\n listAvailability(r: ListAvailabilityRequest | ListAvailabilityRequestInterface): Observable<ListAvailabilityResponse> {\n const request = ((<ListAvailabilityRequest>r).toApiJson) ? (<ListAvailabilityRequest>r) : new ListAvailabilityRequest(r);\n return this.http.post<ListAvailabilityResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/ListAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailabilityResponse.fromProto(resp)),\n share()\n );\n }\n bookMeeting(r: HostBookMeetingRequest | HostBookMeetingRequestInterface): Observable<HostBookMeetingResponse> {\n const request = ((<HostBookMeetingRequest>r).toApiJson) ? (<HostBookMeetingRequest>r) : new HostBookMeetingRequest(r);\n return this.http.post<HostBookMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostBookMeetingResponse.fromProto(resp)),\n share()\n );\n }\n getHostMeeting(r: GetHostMeetingRequest | GetHostMeetingRequestInterface): Observable<GetHostMeetingResponse> {\n const request = ((<GetHostMeetingRequest>r).toApiJson) ? (<GetHostMeetingRequest>r) : new GetHostMeetingRequest(r);\n return this.http.post<GetHostMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetHostMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostMeetingResponse.fromProto(resp)),\n share()\n );\n }\n listBookedMeetings(r: ListBookedMeetingsRequest | ListBookedMeetingsRequestInterface): Observable<ListBookedMeetingsResponse> {\n const request = ((<ListBookedMeetingsRequest>r).toApiJson) ? (<ListBookedMeetingsRequest>r) : new ListBookedMeetingsRequest(r);\n return this.http.post<ListBookedMeetingsResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/ListBookedMeetings\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBookedMeetingsResponse.fromProto(resp)),\n share()\n );\n }\n cancelMeeting(r: CancelMeetingRequest | CancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CancelMeetingRequest>r).toApiJson) ? (<CancelMeetingRequest>r) : new CancelMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: RescheduleMeetingRequest | RescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RescheduleMeetingRequest>r).toApiJson) ? (<RescheduleMeetingRequest>r) : new RescheduleMeetingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMeetingMetadata(r: UpdateMeetingMetadataRequest | UpdateMeetingMetadataRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingMetadataRequest>r).toApiJson) ? (<UpdateMeetingMetadataRequest>r) : new UpdateMeetingMetadataRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateMeetingMetadata\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setGeneralAvailability(r: SetGeneralAvailabilityRequest | SetGeneralAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetGeneralAvailabilityRequest>r).toApiJson) ? (<SetGeneralAvailabilityRequest>r) : new SetGeneralAvailabilityRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/SetGeneralAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createAvailability(r: CreateAvailabilityRequest | CreateAvailabilityRequestInterface): Observable<CreateAvailabilityResponse> {\n const request = ((<CreateAvailabilityRequest>r).toApiJson) ? (<CreateAvailabilityRequest>r) : new CreateAvailabilityRequest(r);\n return this.http.post<CreateAvailabilityResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateAvailabilityResponse.fromProto(resp)),\n share()\n );\n }\n updateAvailability(r: UpdateAvailabilityRequest | UpdateAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateAvailabilityRequest>r).toApiJson) ? (<UpdateAvailabilityRequest>r) : new UpdateAvailabilityRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteAvailability(r: DeleteAvailabilityRequest | DeleteAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteAvailabilityRequest>r).toApiJson) ? (<DeleteAvailabilityRequest>r) : new DeleteAvailabilityRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/DeleteAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n isHostConfigured(r: IsHostConfiguredRequest | IsHostConfiguredRequestInterface): Observable<IsHostConfiguredResponse> {\n const request = ((<IsHostConfiguredRequest>r).toApiJson) ? (<IsHostConfiguredRequest>r) : new IsHostConfiguredRequest(r);\n return this.http.post<IsHostConfiguredResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => IsHostConfiguredResponse.fromProto(resp)),\n share()\n );\n }\n getHostPreferences(r: GetHostPreferencesRequest | GetHostPreferencesRequestInterface): Observable<GetHostPreferencesResponse> {\n const request = ((<GetHostPreferencesRequest>r).toApiJson) ? (<GetHostPreferencesRequest>r) : new GetHostPreferencesRequest(r);\n return this.http.post<GetHostPreferencesResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetHostPreferences\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostPreferencesResponse.fromProto(resp)),\n share()\n );\n }\n updateHostPreferences(r: UpdateHostPreferencesRequest | UpdateHostPreferencesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateHostPreferencesRequest>r).toApiJson) ? (<UpdateHostPreferencesRequest>r) : new UpdateHostPreferencesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateHostPreferences\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMeetingType(r: HostGetMeetingTypeRequest | HostGetMeetingTypeRequestInterface): Observable<HostGetMeetingTypeResponse> {\n const request = ((<HostGetMeetingTypeRequest>r).toApiJson) ? (<HostGetMeetingTypeRequest>r) : new HostGetMeetingTypeRequest(r);\n return this.http.post<HostGetMeetingTypeResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetMeetingTypeResponse.fromProto(resp)),\n share()\n );\n }\n listMeetingTypes(r: HostListMeetingTypesRequest | HostListMeetingTypesRequestInterface): Observable<HostListMeetingTypesResponse> {\n const request = ((<HostListMeetingTypesRequest>r).toApiJson) ? (<HostListMeetingTypesRequest>r) : new HostListMeetingTypesRequest(r);\n return this.http.post<HostListMeetingTypesResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostListMeetingTypesResponse.fromProto(resp)),\n share()\n );\n }\n createMeetingType(r: CreateMeetingTypeRequest | CreateMeetingTypeRequestInterface): Observable<CreateMeetingTypeResponse> {\n const request = ((<CreateMeetingTypeRequest>r).toApiJson) ? (<CreateMeetingTypeRequest>r) : new CreateMeetingTypeRequest(r);\n return this.http.post<CreateMeetingTypeResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateMeetingTypeResponse.fromProto(resp)),\n share()\n );\n }\n updateMeetingType(r: UpdateMeetingTypeRequest | UpdateMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingTypeRequest>r).toApiJson) ? (<UpdateMeetingTypeRequest>r) : new UpdateMeetingTypeRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/UpdateMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteMeetingType(r: DeleteMeetingTypeRequest | DeleteMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMeetingTypeRequest>r).toApiJson) ? (<DeleteMeetingTypeRequest>r) : new DeleteMeetingTypeRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/DeleteMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createDefaultMeetingTypes(r: CreateDefaultMeetingTypesRequest | CreateDefaultMeetingTypesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateDefaultMeetingTypesRequest>r).toApiJson) ? (<CreateDefaultMeetingTypesRequest>r) : new CreateDefaultMeetingTypesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingHost/CreateDefaultMeetingTypes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n} from './objects/';\nimport {\n MeetingSourceListRequestInterface,\n MeetingSourceListResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable()\nexport class MeetingSourceAPIApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: MeetingSourceListRequest | MeetingSourceListRequestInterface): Observable<MeetingSourceListResponse> {\n const request = ((<MeetingSourceListRequest>r).toApiJson) ? (<MeetingSourceListRequest>r) : new MeetingSourceListRequest(r);\n return this.http.post<MeetingSourceListResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.MeetingSourceAPI/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => MeetingSourceListResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n} from './objects/';\nimport {\n CreateZoomMeetingRequestInterface,\n CreateZoomMeetingResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable()\nexport class ZoomApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: CreateZoomMeetingRequest | CreateZoomMeetingRequestInterface): Observable<CreateZoomMeetingResponse> {\n const request = ((<CreateZoomMeetingRequest>r).toApiJson) ? (<CreateZoomMeetingRequest>r) : new CreateZoomMeetingRequest(r);\n return this.http.post<CreateZoomMeetingResponseInterface>(this.hostService.hostWithScheme() + \"/meetings.v1.Zoom/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateZoomMeetingResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!\n//\n// Internal module that provides ApiServices to your exposed sdk module.\n// *********************************\nimport { NgModule } from '@angular/core';\nimport { SessionServiceModule, EnvironmentServiceModule } from '@vendasta/core';\nimport { GoogleMeetApiService } from './google-meet.api.service';\nimport { MeetingGuestApiService } from './meeting-guest.api.service';\nimport { MeetingHostApiService } from './meeting-host.api.service';\nimport { MeetingSourceAPIApiService } from './meeting-source-api.api.service';\nimport { ZoomApiService } from './zoom.api.service';\nimport { HostService } from '../_generated/host.service';\n\n@NgModule({\n imports: [SessionServiceModule, EnvironmentServiceModule],\n providers: [\n GoogleMeetApiService,\n MeetingGuestApiService,\n MeetingHostApiService,\n MeetingSourceAPIApiService,\n ZoomApiService,\n HostService\n ],\n declarations: [],\n exports: [],\n entryComponents: []\n})\nexport class MeetingsInternalModule {}\n","import {Injectable} from '@angular/core';\nimport {Observable, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {MeetingSourceAPIApiService} from './_internal/meeting-source-api.api.service';\nimport {MeetingSourceListResponse, MeetingSourceQuery} from './_internal/objects/meeting-source'\nimport {MeetingSource} from './_internal/enums/meeting-source.enum';\nimport {ZoomMeetingRecurrenceType, ZoomMeetingType} from './_internal/enums/zoom.enum';\nimport {CreateZoomMeetingRequest, CreateZoomMeetingResponse} from './_internal/objects/zoom';\nimport {CreateZoomMeetingRequestInterface, ZoomMeetingRecurrenceInterface} from './_internal/interfaces/zoom.interface';\nimport {GoogleMeetCreateMeetingRequest, GoogleMeetCreateMeetingResponse} from './_internal/objects/google-meet';\nimport {\n GoogleMeetConferenceDataInterface,\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetMeetingAttendeeInterface,\n GoogleMeetMeetingDateTimeInterface,\n GoogleMeetMeetingInterface\n} from './_internal/interfaces/google-meet.interface';\nimport {ZoomApiService} from './_internal/zoom.api.service';\nimport {GoogleMeetApiService} from './_internal/google-meet.api.service';\n\nexport interface MeetingsSDK {\n list(meetingSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse>;\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse>;\n}\n\nexport interface StartMeetingResponse {\n url: string;\n joinURL: string;\n password: string;\n}\n\nfunction generateMeetingPassword(): string {\n const zoomMaxLength = 10;\n const zoomAllowedChars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@-_*';\n\n try {\n const ints = new Uint8Array(zoomMaxLength);\n crypto.getRandomValues(ints);\n return Array.from(ints)\n .map((v: number) => zoomAllowedChars.charAt(v % zoomAllowedChars.length))\n .join('');\n } catch (e) {\n console.error('User is probably using an unsupported browser. ' +\n 'Falling back to less secure password generation', e);\n return new Array(zoomMaxLength)\n .map(() => Math.floor(Math.random() * zoomAllowedChars.length))\n .join('');\n }\n}\n\n@Injectable()\nexport class MeetingsService implements MeetingsSDK {\n constructor(\n private readonly _api: MeetingSourceAPIApiService,\n private readonly zoom: ZoomApiService,\n private readonly meet: GoogleMeetApiService\n ) {\n }\n\n /**\n * @deprecated Use listForUser instead. This method will result in the backend grabbing the userID from the user's JWT\n * This will eventually no longer be supported because it breaks our impersonation workflows.\n */\n list(meetingSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse> {\n return this._api.list({\n queriedSources: meetingSources\n })\n }\n\n listForUser(iamUserId: string, queriedSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse> {\n return this._api.list({\n iamUserId,\n queriedSources,\n });\n }\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse> {\n const now = new Date();\n switch (meetingSource) {\n case MeetingSource.MEETING_SOURCE_INVALID:\n return throwError('Meeting source was not specified');\n case MeetingSource.MEETING_SOURCE_ZOOM:\n const req = createZoomInstantMeetingRequest(meetingTitle, now, meetingAgenda);\n return this.zoom.createMeeting(req).pipe(\n map((resp: CreateZoomMeetingResponse) => (\n <StartMeetingResponse>{url: resp.joinUrl, password: resp.password, joinURL: resp.joinUrl}\n )),\n );\n case MeetingSource.MEETING_SOURCE_GOOGLE_MEET:\n if (!gMeetAttendees) {\n return throwError('Attendees are required to start a Meet Hangout')\n }\n const meetReq = createMeetInstantMeetingRequest(meetingTitle, now, gMeetAttendees);\n return this.meet.createMeeting(meetReq).pipe(\n map((resp: GoogleMeetCreateMeetingResponse) =>\n <StartMeetingResponse>{url: resp.meeting.hangoutLink, joinURL: resp.meeting.hangoutLink}\n ),\n );\n default:\n return throwError('Unrecognized meeting source ' + meetingSource);\n }\n }\n\n createBasicZoomScheduledMeeting(topic: string, agenda: string, startDateTime: string,\n duration: number, timezone: string, meetingPassword: string): Observable<CreateZoomMeetingResponse> {\n const req: CreateZoomMeetingRequest = new CreateZoomMeetingRequest({\n topic: topic,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_SCHEDULED,\n startTime: startDateTime,\n duration: duration,\n timezone: timezone,\n password: meetingPassword ? meetingPassword : generateMeetingPassword(),\n agenda: agenda,\n settings: {\n joinBeforeHost: true,\n enforceLogin: false\n },\n recurrence: {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY\n }\n });\n\n return this.zoom.createMeeting(req);\n }\n\n createBasicGoogleMeeting(\n topic: string,\n agenda: string,\n startDateTime: string,\n endDateTime: string,\n timezone: string,\n attendees: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<GoogleMeetCreateMeetingResponse> {\n const req: GoogleMeetCreateMeetingRequest = new GoogleMeetCreateMeetingRequest({\n meeting: {\n attendees: attendees,\n description: agenda,\n start: {\n dateTime: startDateTime,\n timeZone: timezone\n },\n end: {\n dateTime: endDateTime,\n timeZone: timezone\n },\n summary: topic\n }\n });\n\n return this.meet.createMeeting(req);\n }\n\n}\n\nfunction createZoomInstantMeetingRequest(\n meetingTitle: string, now: Date, meetingAgenda: string,\n): CreateZoomMeetingRequest {\n const recurrence: ZoomMeetingRecurrenceInterface = {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY,\n repeatInterval: 0,\n };\n const req: CreateZoomMeetingRequestInterface = {\n topic: meetingTitle,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_INSTANT,\n startTime: now.toISOString(),\n duration: undefined, // Only used with scheduled meetings\n timezone: 'UTC',\n password: generateMeetingPassword(),\n agenda: meetingAgenda,\n trackingFields: [],\n recurrence: recurrence,\n settings: undefined, // Only used with recurring meetings\n };\n return new CreateZoomMeetingRequest(req);\n}\n\nfunction createMeetInstantMeetingRequest(\n meetingTitle: string, startDateTime: Date, attendees: GoogleMeetMeetingAttendeeInterface[],\n): GoogleMeetCreateMeetingRequest {\n const start: GoogleMeetMeetingDateTimeInterface = {\n dateTime: startDateTime.toISOString(),\n timeZone: 'UTC'\n }\n const endTime = new Date(startDateTime.setMinutes(startDateTime.getMinutes() + 30));\n const end: GoogleMeetMeetingDateTimeInterface = {\n dateTime: endTime.toISOString(),\n timeZone: 'UTC'\n }\n const conferenceData: GoogleMeetConferenceDataInterface = {\n createRequest: {\n requestId: 'instant-meet-meeting'\n },\n conferenceSolution: {\n key: {\n type: 'eventHangout'\n }\n }\n }\n const meeting: GoogleMeetMeetingInterface = {\n summary: meetingTitle,\n start: start,\n end: end,\n conferenceData: conferenceData,\n attendees: attendees,\n }\n const req: GoogleMeetCreateMeetingRequestInterface = {\n meeting: meeting,\n }\n return new GoogleMeetCreateMeetingRequest(req);\n}\n","// *********************************\n// Code generated by sdkgen - edited by you!\n//\n// This module contains any hand-written services or other things your module\n// needs to share with applications that use it.\n// *********************************\nimport { NgModule } from '@angular/core';\nimport { MeetingsInternalModule } from './_internal/meetings.module';\nimport { MeetingsService } from './meetings.service';\n\n@NgModule({\n imports: [\n MeetingsInternalModule,\n ],\n providers: [\n MeetingsService\n ]\n})\nexport class MeetingsModule {}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums/index';\nexport * from './objects/index';\nexport * from './interfaces/index';\nexport { GoogleMeetApiService } from './google-meet.api.service';\nexport { MeetingGuestApiService } from './meeting-guest.api.service';\nexport { MeetingHostApiService } from './meeting-host.api.service';\nexport { MeetingSourceAPIApiService } from './meeting-source-api.api.service';\nexport { ZoomApiService } from './zoom.api.service';\n","import {DateRange} from '../_internal/objects/index';\n\nexport interface TimeSpan {\n start: Date\n end: Date\n}\n\n\nexport function TimeSpanFromApi(tsAPI: DateRange): TimeSpan {\n return {\n start: tsAPI.start,\n end: tsAPI.end\n }\n}\n","import { Host as ApiHost } from '../_internal/objects/index';\n\nexport interface Host {\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n}\n\nexport function HostFromApi(hostAPI: ApiHost): Host {\n return {\n displayName: hostAPI.displayName,\n displayProfileUrl: hostAPI.displayProfileUrl,\n displayLogoUrl: hostAPI.displayLogoUrl,\n }\n}\n","// A temporary method for building the url for a host, eventTypeId, and metadata\nimport {Environment} from '@vendasta/core';\n\nexport function getBookingUrlImplementation(\n req: {\n environment: Environment,\n calendarId: string,\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string,\n meetingTypeSlug?: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }\n): string {\n const domain = getDomainFromEnvironment(req.environment);\n const meetingType = req.meetingTypeSlug || req.meetingTypeId || '30-minutes';\n const calendarSlug = req.calendarSlug || req.calendarId;\n const url = `https://${domain}/book/${calendarSlug}/${meetingType}`;\n if (!req.metadata) {\n return url;\n }\n return addMetadataToBookingLink({link: url, metadata: req.metadata});\n}\n\nexport function getGeneralBookingUrlImplementation(req: {\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): string {\n const url = `https://${getDomainFromEnvironment(req.environment)}/${req.calendarSlug || req.calendarId}`;\n return req.metadata ? addMetadataToBookingLink({link: url, metadata: req.metadata}) : url;\n}\n\nfunction getDomainFromEnvironment(env: Environment): string {\n if (env === Environment.PROD) {\n return 'bookmenow.info';\n }\n return 'bookme-demo-rrncocebdq-uc.a.run.app';\n}\n\nexport function addMetadataToBookingLink(req: { link: string, metadata: { [key: string]: string } }): string {\n if (!req.metadata) {\n return req.link;\n }\n const m = req.metadata as { [key: string]: string };\n const queryParams = Object.keys(m).reduce((params, key) => {\n if (!params) {\n if (req.link.indexOf('?') >= 0) {\n return `&${key}=${m[key]}`;\n }\n return `?${key}=${m[key]}`;\n }\n return `${params}&${key}=${m[key]}`;\n }, '');\n\n return `${req.link}${queryParams}`;\n}\n","import {FieldInterface, FormInterface, MeetingTypeInterface as ApiMeetingType} from '../_internal/interfaces/index';\nimport {addMetadataToBookingLink, getBookingUrlImplementation} from '../host/url';\nimport {Environment} from '@vendasta/core';\nimport {FormFieldType} from '../_internal/enums/index';\n\nexport interface MeetingType {\n id: string;\n name: string;\n // string formatted as: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n // use helpers in duration.ts for helpers or pass into moment.\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n\n // https://vendasta.jira.com/wiki/spaces/BOOKME/pages/227836157/Terminology#Meeting-Type-Slug\n meetingTypeSlug: string;\n\n /**\n * @deprecated use meetingTypeSlug instead\n */\n bookingLink?: string;\n\n hostUserIds: string[];\n\n\n // readonly fields. has no impact when updating.\n // This is the full url a person could navigate to for booking. May include metadata query params.\n bookingUrl: string;\n\n form: MeetingTypeForm,\n}\n\nexport type MeetingTypeFormField = Required<FieldInterface>;\nexport type MeetingTypeForm = Required<Omit<FormInterface, 'fields'>> & { fields: MeetingTypeFormField[] };\n\nexport function MeetingTypeFromApi(req: {\n meetingTypeApi: ApiMeetingType,\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): MeetingType {\n let bookingUrl = req?.meetingTypeApi?.bookingUrl || '';\n if (bookingUrl === '') {\n bookingUrl = getBookingUrlImplementation({\n environment: req.environment,\n calendarId: req.calendarId,\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || req.meetingTypeApi.id || '',\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n } else {\n bookingUrl = addMetadataToBookingLink({link: bookingUrl, metadata: req.metadata || {}});\n }\n\n const form: MeetingTypeForm = {\n ...(req.meetingTypeApi.form || {fields: []}),\n fields: (req.meetingTypeApi.form && req.meetingTypeApi.form.fields ? req.meetingTypeApi.form.fields : []).map(field => {\n return {\n ...field,\n id: field.id || '',\n label: field.label || '',\n type: field.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n required: field.required || false,\n }\n })\n };\n return {\n id: req.meetingTypeApi.id || '',\n calendarId: req.meetingTypeApi.calendarId || '',\n name: req.meetingTypeApi.name || '',\n duration: req.meetingTypeApi.duration || '',\n bookingUrl: bookingUrl,\n bookingLink: req.meetingTypeApi.meetingTypeSlug || '',\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || '',\n description: req.meetingTypeApi.description || '',\n hexColor: req.meetingTypeApi.hexColor || '',\n form: form,\n hostUserIds: req.meetingTypeApi.hostUserIds || []\n }\n}\n\nexport function MeetingTypeToApi(req: { meetingType: Partial<MeetingType> }): ApiMeetingType {\n const m = req.meetingType;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n hexColor: m.hexColor || undefined,\n meetingTypeSlug: m.meetingTypeSlug || m.bookingLink || undefined,\n calendarId: m.calendarId || undefined,\n description: m.description || undefined,\n duration: m.duration ? m.duration : undefined,\n form: m.form || undefined,\n hostUserIds: m.hostUserIds || undefined\n };\n}\n","import {Meeting as ApiMeeting} from '../_internal/objects/index';\nimport {AnswerInterface, AnswersInterface, AttachmentInterface} from '../_internal/interfaces/index';\nimport {FormFieldType} from '../_internal/enums/index';\n\nexport interface Attendee {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone?: string;\n isPrimary: boolean;\n}\n\nexport type MeetingFormAnswer = Required<AnswerInterface>;\nexport type MeetingForm = Required<Omit<AnswersInterface, 'formAnswers'>> & { formAnswers: MeetingFormAnswer[] };\n\n// These represent well-known metadata keys used for more than just tracking\nexport enum WellKnownMeetingMetadataKeys {\n // This is the business (AG) attached to a meeting. This is attached via sending msm_business as a query param during booking\n BUSINESS = 'msm_business',\n}\n\n// These are part of the standard Meeting Scheduler form.\n// If you are trying to pre-fill these fields use the helper formFieldIdToMetadataParam\nexport enum WellKnownFormFieldIds {\n FIRST_NAME = 'firstName',\n LAST_NAME = 'lastName',\n EMAIL = 'email',\n PHONE_NUMBER = 'phoneNumber',\n COMMENT = 'comment',\n INVITEE_EMAILS = 'inviteeEmail',\n}\n\n// Converts the given id into a metadata key that can be sent on the url.\n// This means the key will be used to pre-fill those form fields.\n// This can also be used on fields that are not metadata to ensure they will come across in metadata.\nexport function meetingSchedulerIdToMetadataKey(id: string): string {\n if (!id) {\n return '';\n }\n return id.startsWith('msm_') || id.startsWith('utm_') ? id : `msm_${id}`;\n}\n\nexport interface MeetingMetadata {\n [key: string]: string;\n}\n\nexport interface Meeting {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n description: string;\n joinMeetingUrl: string;\n attendees: Attendee[];\n created: Date;\n updated: Date;\n topic?: string;\n formAnswers: MeetingForm;\n metadata: MeetingMetadata\n attachments: Required<AttachmentInterface>[],\n}\n\nexport function meetingFromApi(meetingApi: ApiMeeting): Meeting {\n return {\n id: meetingApi.id,\n eventTypeId: meetingApi.eventTypeId,\n hostId: meetingApi.hostId,\n start: meetingApi.start,\n end: meetingApi.end,\n description: meetingApi.description || '',\n joinMeetingUrl: meetingApi.joinMeetingUrl || '',\n attendees: meetingApi.attendees ? meetingApi.attendees.map(a => ({\n firstName: a.firstName,\n lastName: a.lastName,\n email: a.email,\n phoneNumber: a.phoneNumber,\n timeZone: a.timeZone,\n isPrimary: a.isPrimary || false,\n })) : [],\n created: meetingApi.created,\n updated: meetingApi.updated,\n topic: meetingApi.topic,\n formAnswers: answersFromAPI(meetingApi.formAnswers),\n metadata: meetingApi.metadata || {},\n attachments: (meetingApi.attachments || []).map(a => {\n return {\n fileTitle: a.fileTitle || '',\n fileUrl: a.fileUrl || '',\n fileType: a.fileType || '',\n };\n })\n }\n}\n\nexport function answersFromAPI(formAnswers: AnswersInterface): MeetingForm {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers ? formAnswers.formAnswers : []).map(a => {\n return {\n id: a.id || '',\n label: a.label || '',\n type: a.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n answer: a.answer || [],\n }\n })\n }\n}\n\nexport function answersToAPI(formAnswers?: MeetingForm): AnswersInterface {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers || []).map(a => {\n return {\n id: a.id || undefined,\n label: a.label || undefined,\n type: a.type,\n answer: a.answer || undefined,\n }\n })\n }\n}\n","export class PagedResponse<T> {\n results: T[];\n nextCursor: string;\n hasMore: boolean;\n\n constructor(results: T[], nextCursor: string, hasMore: boolean) {\n this.results = results;\n this.nextCursor = nextCursor;\n this.hasMore = hasMore;\n }\n}\n","import {Calendar as APICalendar, CalendarType} from '../_internal/index';\n\nexport type Calendar = Omit<APICalendar, 'toApiJson'>\n\nexport function CalendarFromApi(calendarAPI: APICalendar): Calendar {\n return {\n id: calendarAPI.id || '',\n calendarType: calendarAPI.calendarType || CalendarType.CALENDAR_TYPE_INVALID,\n displayName: calendarAPI.displayName || '',\n displayProfileUrl: calendarAPI.displayProfileUrl || '',\n displayLogoUrl: calendarAPI.displayLogoUrl || '',\n bookingUrl: calendarAPI.bookingUrl || '',\n slug: calendarAPI.slug || '',\n externalId: calendarAPI.externalId || '',\n creatorUserId: calendarAPI.creatorUserId || '',\n hostUserIds: calendarAPI.hostUserIds || [],\n applicationContext: calendarAPI.applicationContext || {},\n }\n}\n\n// From meetings/internal/meetingscheduler/calendar/model.go\nexport enum KnownCalendarApplicationContextKeys {\n ExternalIntegration = 'external_integration',\n Business = 'business_id',\n SalesTeam = 'sales_team_id',\n}\n\nexport enum KnownCalendarExternalIntegrations {\n VSalesTeam = 'v_sales_team',\n VBusiness = 'v_business'\n}\n","import {Preferences as APIPreferences} from '../_internal/objects/index';\nimport {MeetingSource} from '../_internal/enums/index';\nimport {TimeZoneInterface} from '../_internal/interfaces/index';\n\nexport interface Preferences {\n timezone: TimeZoneInterface;\n meetingIntegration: MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n}\n\nexport function PreferencesFromApi(preferences: APIPreferences): Preferences {\n return {\n timezone: preferences.timezone,\n meetingIntegration: preferences.meetingIntegration || MeetingSource.MEETING_SOURCE_INVALID,\n availabilityIncrement: preferences.availabilityIncrement || 0,\n bufferDurationAfterMeeting: preferences.bufferDurationAfterMeeting || 0,\n noticeTime: preferences.noticeTime || 0,\n calendarSlug: preferences.calendarSlug || '',\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export interface Duration {\n seconds: number;\n nanoseconds: number;\n}\n\n/**\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n */\nexport function durationFromString(durationString: string): Duration {\n if (!durationString) {\n return {seconds: 0, nanoseconds: 0};\n }\n const [secondsString, nanosecondString] = durationString\n .replace(/s/g, '') // the end of the string has an s\n .split('.'); // before the decimal is seconds, after is nanoseconds\n const seconds = Number(secondsString);\n const nanoseconds = parseFloat('0.' + nanosecondString) * 1e9;\n return {\n seconds: isNaN(seconds) ? 0 : seconds,\n nanoseconds: isNaN(nanoseconds) ? 0 : nanoseconds,\n };\n}\n\nexport function durationToString(duration: Duration): string {\n if (!duration) {\n return '0s';\n }\n const seconds = duration.seconds || 0;\n const nanoseconds = duration.nanoseconds || 0;\n return seconds + (nanoseconds / 1e9) + 's';\n}\n\nexport function durationStringToMinutes(req: { duration: string, round?: boolean }): number {\n const d = durationFromString(req.duration);\n const minutes = d.seconds / 60 + (d.nanoseconds / 6e+10);\n if (req.round) {\n return Math.round(minutes);\n }\n return minutes;\n}\n","import {FieldMask} from '../_internal/objects/index';\n\nexport function getFieldMask<T>(req: { o: Partial<T>, updateFields?: (keyof T & string)[] }): FieldMask {\n const keysToUpdate = req.updateFields || Object.keys(req.o || {});\n return new FieldMask({paths: keysToUpdate || []});\n}\n","export interface BusinessCenterApplicationContextProperties {\n business_id: string;\n user_context: 'SMB';\n}\n\nexport interface SalesCenterApplicationContextProperties {\n partner_id: string;\n market_id: string;\n user_context: 'SALES';\n}\n\nexport interface PartnerCenterApplicationContextProperties {\n partner_id: string;\n user_context: 'PARTNER';\n}\n\n// This will extend to include other types (partner, sales, etc).\nexport type ApplicationContextPropertiesSet = BusinessCenterApplicationContextProperties | SalesCenterApplicationContextProperties | PartnerCenterApplicationContextProperties;\n\nexport function newBusinessCenterApplicationContextProperties(req: {business_id: string}): ApplicationContextPropertiesSet {\n return {\n business_id: req.business_id,\n user_context: 'SMB',\n }\n}\n\nexport function newSalesCenterApplicationContextProperties(req: {partner_id: string, market_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n market_id: req.market_id,\n user_context: 'SALES'\n }\n}\n\nexport function newPartnerCenterApplicationContextProperties(req: {partner_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n user_context: 'PARTNER',\n }\n}\n","import {HostUserInterface} from '../_internal';\nexport type HostUser = Required<HostUserInterface>\nexport function hostUserFromApi(hostUser: HostUserInterface) {\n return {\n userId: hostUser.userId || '',\n displayName: hostUser.displayName || '',\n isConfigured: hostUser.isConfigured || false\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {\n CalendarInterface,\n Contact,\n GuestIsHostConfiguredResponse,\n MeetingGuestApiService,\n TimeZoneInterface\n} from '../_internal/index';\nimport {Observable} from 'rxjs';\nimport {map, mapTo} from 'rxjs/operators';\nimport {\n answersToAPI,\n CalendarFromApi,\n Host,\n HostFromApi,\n MeetingForm,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n TimeSpan,\n TimeSpanFromApi\n} from '../shared';\nimport {EnvironmentServiceInterface, EnvironmentServiceInterfaceToken} from '@vendasta/core';\n\nexport interface BookMeetingResponse {\n meetingId: string;\n hostId: string;\n}\n\nexport interface BookedMeetingInfo {\n start: Date;\n end: Date;\n timeZone: TimeZoneInterface;\n meetingTypeId: string;\n}\n\nexport interface GuestServiceInterface {\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo>\n\n listMeetingTypes(req: {\n hostId: string,\n timeZone?: TimeZoneInterface,\n metadata?: { [name: string]: string },\n slug?: string,\n }): Observable<MeetingType[]>\n\n isHostConfigured(req: { hostId: string }): Observable<boolean>\n}\n\n@Injectable()\nexport class GuestService implements GuestServiceInterface {\n\n constructor(\n private guestAPIService: MeetingGuestApiService,\n @Inject(EnvironmentServiceInterfaceToken) private readonly environmentService: EnvironmentServiceInterface,\n ) {}\n\n getMeetingType(req: {\n calendarSlug: string,\n meetingTypeSlug: string,\n metadata?: { [name: string]: string },\n }): Observable<MeetingType> {\n return this.guestAPIService.getMeetingType(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingType) {\n return {} as MeetingType;\n }\n return MeetingTypeFromApi({\n environment: this.environmentService.getEnvironment(),\n calendarId: req.calendarSlug,\n meetingTypeApi: resp.meetingType,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n })\n );\n }\n\n listMeetingTypes(req: {\n hostId: string,\n metadata?: { [name: string]: string },\n // deprecated: unused field.\n timeZone?: TimeZoneInterface,\n calendarSlug?: string,\n }): Observable<MeetingType[]> {\n return this.guestAPIService.listMeetingTypes(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map(mt => {\n return MeetingTypeFromApi({\n environment: this.environmentService.getEnvironment(),\n calendarId: req.hostId,\n meetingTypeApi: mt,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n )\n }\n\n listAvailableTimeSlots(req: {\n hostId: string,\n meetingTypeId: string,\n timeSpan: TimeSpan,\n timeZone: TimeZoneInterface\n }): Observable<TimeSpan[]> {\n return this.guestAPIService.listAvailableTimeSlots(req).pipe(\n map(resp => resp.timeSlots ? resp.timeSlots.map(ts => TimeSpanFromApi(ts)) : [])\n )\n }\n\n bookMeeting(req: {\n hostId: string,\n meetingTypeId: string,\n start: Date,\n comment: string,\n metadata?: MeetingMetadata,\n attendees: (Omit<Contact, 'fromProto' | 'toApiJson' | 'constructor' | 'timeZone'> & { timeZone: TimeZoneInterface })[],\n formAnswers?: MeetingForm,\n recaptchaToken: string,\n }\n ): Observable<BookMeetingResponse> {\n return this.guestAPIService.bookMeeting({\n ...req,\n attendees: req.attendees,\n formAnswers: answersToAPI(req.formAnswers),\n }).pipe(map((resp: any) => resp as BookMeetingResponse));\n }\n\n cancelMeeting(req: { authToken: string, meetingId: string, cancellationReason: string }): Observable<null> {\n return this.guestAPIService.cancelMeeting(req).pipe(mapTo(null));\n }\n\n rescheduleMeeting(req: { authToken: string, meetingId: string, start: Date, timeZone?: TimeZoneInterface }): Observable<null> {\n return this.guestAPIService.rescheduleMeeting(req).pipe(mapTo(null));\n }\n\n // getHost returns an individual host by their hostId\n getHost(req: { hostId: string }): Observable<Host> {\n return this.guestAPIService.getHost(req).pipe(map(resp => HostFromApi(resp.host)))\n }\n\n // getCalendar returns a Calendar, which may represent an individual host OR a grouping of hosts (I.e., a team)\n getCalendar(req: { calendarId: string }): Observable<CalendarInterface> {\n return this.guestAPIService.getCalendar(req).pipe(map(resp => CalendarFromApi(resp.calendar)))\n }\n\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo> {\n return this.guestAPIService.getGuestBookedMeeting({\n meetingId: meetingId, authToken: authToken,\n }).pipe(\n map(resp => (<BookedMeetingInfo>{\n start: resp.startTime,\n end: resp.endTime,\n timeZone: resp.timeZone,\n meetingTypeId: resp.meetingTypeId\n }))\n )\n }\n\n isHostConfigured(req: { hostId: string }): Observable<boolean> {\n return this.guestAPIService.isHostConfigured(req).pipe(\n map((resp: GuestIsHostConfiguredResponse) => resp.isConfigured)\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MeetingsInternalModule } from '../_internal/meetings.module';\nimport { GuestService } from './guest.service';\n\n@NgModule({\n imports: [\n MeetingsInternalModule,\n ],\n providers: [\n GuestService,\n ]\n})\nexport class GuestModule { }\n","import {Inject, Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {map, mapTo} from 'rxjs/operators';\nimport {\n CreateCalendarRequestInterface,\n CreateCalendarResponse,\n DayOfWeek,\n GetHostMeetingResponse,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponse,\n IsHostConfiguredResponse,\n ListAvailabilityRequestFiltersInterface,\n ListBookedMeetingsRequestFilters,\n ListBookedMeetingsRequestFiltersInterface,\n ListBookedMeetingsResponse,\n MeetingHostApiService,\n PagedRequestOptions,\n PagedRequestOptionsInterface,\n TimeRange,\n TimeRangeInterface,\n TimeZone,\n TimeZoneInterface,\n WeekdayAvailability\n} from '../_internal/index';\nimport {\n ApplicationContextPropertiesSet,\n AvailabilityRule,\n Calendar,\n CalendarFromApi,\n getFieldMask,\n HostUrlMap,\n Meeting,\n meetingFromApi,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n MeetingTypeToApi,\n PagedResponse,\n Preferences,\n PreferencesFromApi\n} from '../shared/index';\nimport {EnvironmentServiceInterface, EnvironmentServiceInterfaceToken} from '@vendasta/core';\nimport {getBookingUrlImplementation, getGeneralBookingUrlImplementation} from './url';\nimport {HostUser, hostUserFromApi} from '../shared/host-user'\n\n\n@Injectable()\nexport class HostService {\n constructor(\n private hostAPIService: MeetingHostApiService,\n @Inject(EnvironmentServiceInterfaceToken) private readonly environmentService: EnvironmentServiceInterface,\n ) {\n }\n\n // Use buildHostId to get an identifier that can be used in subsequent requests. See vendastaapis for more details\n buildHostId(req: { userId: string, applicationContextProperties: ApplicationContextPropertiesSet }): Observable<string> {\n return this.hostAPIService.buildHostId({\n userId: req.userId,\n // Gross typecast exists because I want to restrict the properties on the map (for now).\n applicationContextProperties: req.applicationContextProperties as any as { [key: string]: string }\n }\n ).pipe(map(res => res.hostId || ''));\n }\n\n doesCalendarExist(calendarIdentifier: string): Observable<boolean> {\n return this.hostAPIService.doesCalendarExist({calendarIdentifier: calendarIdentifier}).pipe(\n map(resp => resp.exists)\n );\n }\n\n getCalendar(req: { calendarId: string }): Observable<Calendar> {\n return this.hostAPIService.getCalendar({calendarId: req.calendarId}).pipe(\n map(res => CalendarFromApi(res?.calendar))\n );\n }\n\n ensurePersonalCalendarExists(req: {\n userId: string,\n applicationContextProperties: ApplicationContextPropertiesSet\n }): Observable<string> {\n return this.hostAPIService.ensurePersonalCalendarExists({\n userId: req.userId,\n applicationContextProperties: req.applicationContextProperties as any as { [key: string]: string },\n }).pipe(map(res => res ? res.calendarId : ''));\n }\n\n ensureGroupCalendarsExist(req: { externalIds: string[] }): Observable<string[]> {\n return this.hostAPIService.ensureGroupCalendarsExist({externalIds: req.externalIds}).pipe(\n map(res => res?.calendarIds || [])\n );\n }\n\n /*\n createCalendar creates a calendar which meeting types can be created for and events can be booked on\n The fields of a calendar are documented in https://github.com/vendasta/vendastaapis/blob/master/meetings/v1/shared.proto\n */\n createCalendar(req: CreateCalendarRequestInterface): Observable<CreateCalendarResponse> {\n return this.hostAPIService.createCalendar(req);\n }\n\n updateCalendarSlug(calendarId: string, newSlug: string): Observable<void> {\n return this.hostAPIService.updateCalendar({\n calendarId: calendarId,\n calendarUpdate: {slug: newSlug},\n fieldMask: {paths: ['slug']},\n }).pipe(mapTo(undefined));\n }\n\n updateCalendarHostUserIDs(calendarId: string, replacementHostUserIds: string[]): Observable<void> {\n return this.hostAPIService.updateCalendar({\n calendarId: calendarId,\n calendarUpdate: {hostUserIds: replacementHostUserIds},\n fieldMask: {paths: ['host_user_ids']},\n }).pipe(mapTo(undefined));\n }\n\n getMeetingTypesForCalendars(req: {\n calendarIds: string[],\n metadata: { [name: string]: string }\n }): Observable<{ [calendarId: string]: MeetingType[] }> {\n return this.hostAPIService.getMeetingTypesForCalendars({calendarIds: req.calendarIds}).pipe(\n map(res => {\n if (!res?.calendarMeetingTypesMap) {\n return {};\n }\n return Object.keys(res.calendarMeetingTypesMap).reduce((calendarToMeetingTypeMap, calendarId) => {\n const meetingTypes = (res.calendarMeetingTypesMap[calendarId]?.meetingTypes || []).map(mt => MeetingTypeFromApi({\n meetingTypeApi: mt,\n environment: this.environmentService.getEnvironment(),\n calendarId,\n metadata: req.metadata,\n }));\n return {\n ...calendarToMeetingTypeMap,\n [calendarId]: meetingTypes,\n };\n }, {} as { [calendarId: string]: MeetingType[] })\n })\n )\n }\n\n /*\n listMeetingTypes returns a list of meeting types for a host\n @param hostId: An identifier for an individual host\n @param metadata: optional metadata to include on the meeting type booking link\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n - calendarSlug IS NOT USED TO RETRIEVE MEETING TYPES, ONLY TO MAKE THE BOOKING URLS\n */\n listMeetingTypes(req: {\n hostId: string,\n metadata?: { [name: string]: string }\n calendarSlug?: string,\n }): Observable<MeetingType[]> {\n return this.hostAPIService.listMeetingTypes(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map(mt => {\n return MeetingTypeFromApi({\n meetingTypeApi: mt,\n calendarId: req.hostId,\n environment: this.environmentService.getEnvironment(),\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n )\n }\n\n /*\n getBookingUrl returns a link that can be used to book a meeting with this host.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param @deprecated hostId: An identifier for an individual host.\n @param meetingTypeId: An optional identifier for the meeting type. Default: 30-minutes.\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrl(\n req: {\n // @deprecated: use calendarId instead. calendarId not required to avoid breaking existing clients.\n hostId: string,\n calendarId?: string,\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string,\n meetingTypeSlug?: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }): Observable<string> {\n return of(getBookingUrlImplementation({\n ...req,\n calendarId: req.calendarId || req.hostId,\n environment: this.environmentService.getEnvironment(),\n calendarSlug: req.calendarSlug,\n })\n );\n }\n\n /*\n getGeneralBookingUrl returns a link that can be used to select a meeting type to book with the given calendar.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getGeneralBookingUrl(req: {\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }): Observable<string> {\n return of(getGeneralBookingUrlImplementation({\n environment: this.environmentService.getEnvironment(),\n calendarId: req.calendarId,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n }))\n }\n\n /*\n getBookingUrlsMulti returns a mapping of hosts -> event types -> booking links.\n @param calendarId: An identifier for an individual host or grouping of hosts.\n @param meetingTypeSlug: meetingTypeSlugs are passed in the form {hostId: [meetingTypeSlug1, meetingTypeSlug2]}\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrlsMulti(\n req: { [calendarId: string]: string[] },\n metadata?: { [name: string]: string },\n calendarSlug?: string\n ): Observable<HostUrlMap> {\n return of(Object.keys(req).reduce((hostMap, calendarId) => {\n return {\n ...hostMap,\n [calendarId]: req[calendarId].reduce((meetingTypeMap, meetingTypeSlug) => {\n return {\n ...meetingTypeMap,\n [meetingTypeSlug]: getBookingUrlImplementation({\n calendarId,\n meetingTypeSlug,\n metadata,\n environment: this.environmentService.getEnvironment(),\n calendarSlug,\n })\n };\n }, {} as { [meetingTypeId: string]: string })\n };\n }, {} as HostUrlMap));\n }\n\n isHostConfigured(req: { hostId: string }): Observable<boolean> {\n return this.hostAPIService.isHostConfigured(req).pipe(\n map((resp: IsHostConfiguredResponse) => resp.isConfigured)\n );\n }\n\n setGeneralAvailability(req: {\n hostId: string,\n meetingTypeId: string,\n // @deprecated: use weekdaysAvailability instead\n days?: DayOfWeek[],\n // @deprecated: use weekdaysAvailability instead\n timeSlot?: TimeRangeInterface,\n weekdaysAvailability?: WeekdayAvailability[],\n timeZone: TimeZoneInterface,\n }): Observable<null> {\n const apiReq = {\n ...req,\n timeZone: new TimeZone(req.timeZone),\n }\n if (req.timeSlot) {\n apiReq.timeSlot = new TimeRange(req.timeSlot)\n }\n return this.hostAPIService.setGeneralAvailability(apiReq).pipe(mapTo(null))\n }\n\n listBookedMeetings(req: {\n filters: ListBookedMeetingsRequestFiltersInterface,\n cursor: string,\n pageSize: number,\n timeZone: TimeZoneInterface,\n }): Observable<PagedResponse<Meeting>> {\n return this.hostAPIService.listBookedMeetings({\n ...req,\n pagingOptions: new PagedRequestOptions({cursor: req.cursor, pageSize: req.pageSize}),\n filters: new ListBookedMeetingsRequestFilters(req.filters),\n timeZone: new TimeZone(req.timeZone),\n }).pipe(\n map((resp: ListBookedMeetingsResponse) => {\n const meetings = (resp.meetings || []).map(meeting => meetingFromApi(meeting));\n return new PagedResponse(meetings, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n }),\n );\n }\n\n cancelMeeting(req: {\n meetingId: string,\n cancellationReason: string\n }): Observable<null> {\n return this.hostAPIService.cancelMeeting({\n ...req\n }).pipe(mapTo(null))\n }\n\n rescheduleMeeting(req: {\n meetingId: string,\n start: Date\n }): Observable<null> {\n return this.hostAPIService.rescheduleMeeting({\n ...req\n }).pipe(mapTo(null))\n }\n\n listAvailability(req: {\n filters: ListAvailabilityRequestFiltersInterface,\n pagingOptions: PagedRequestOptionsInterface,\n timeZone: TimeZoneInterface,\n }): Observable<PagedResponse<AvailabilityRule>> {\n return this.hostAPIService.listAvailability(req).pipe(\n map(response => {\n const results = (response.availabilityRules || []).filter(Boolean).map(a => {\n return {\n hostId: a.hostId || '',\n meetingTypeId: a.meetingTypeId || '',\n day: a.day,\n timeSlot: a.timeSlot,\n timeZone: a.timeZone,\n }\n });\n return new PagedResponse(results, response.metadata.nextCursor, response.metadata.hasMore);\n })\n )\n }\n\n /* updatePreferences will update the host's preferences.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updatePreferences({meetingIntegration: MeetingSource.MEETING_SOURCE_GOOGLE_MEET})\n * will only update the preference meetingIntegration to Google Meet. Keeping the other preferences the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updatePreferences({...object with all fields}, ['meetingIntegration'])\n * will only update the field 'meetingIntegration' to the value in preferences.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `Preferences` or with updateFields not linked to properties in\n * `Preferences` is an error.\n */\n updatePreferences(req: { hostId: string, preferences: Partial<Preferences>, updateFields?: (keyof Preferences)[] }): Observable<void> {\n const fieldMask = getFieldMask({o: req.preferences, updateFields: req.updateFields});\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService.updateHostPreferences({\n hostId: req.hostId,\n preferences: req.preferences,\n fieldMask,\n }).pipe(mapTo(undefined));\n }\n\n getPreferences(req: { hostId: string }): Observable<Preferences> {\n return this.hostAPIService.getHostPreferences({\n hostId: req.hostId\n }).pipe(map(response => PreferencesFromApi(response.preferences)))\n }\n\n getMeeting(meetingId: string, location: string): Observable<Meeting> {\n return this.hostAPIService.getHostMeeting({\n meetingId: meetingId, location: location,\n }).pipe(\n map((resp: GetHostMeetingResponse) => meetingFromApi(resp.meeting))\n )\n }\n\n updateMeetingMetadata(req: { meetingId: string, metadata: MeetingMetadata }): Observable<void> {\n return this.hostAPIService.updateMeetingMetadata({\n meetingId: req.meetingId,\n metadata: req.metadata\n }).pipe(mapTo(undefined));\n }\n\n bookMeeting(req: HostBookMeetingRequestInterface): Observable<string> {\n return this.hostAPIService.bookMeeting(req).pipe(map((resp: HostBookMeetingResponse) => resp.meetingId));\n }\n\n // createDefaultMeetingTypes will create what Meeting Scheduler deems to be the default meeting types.\n // If the calendar already has meeting types, this is guaranteed to be a no-op.\n createDefaultMeetingTypes(req: { calendarId: string }): Observable<void> {\n return this.hostAPIService.createDefaultMeetingTypes({calendarId: req.calendarId}).pipe(mapTo(undefined));\n }\n\n createMeetingType(req: { meetingType: MeetingType }): Observable<string> {\n return this.hostAPIService.createMeetingType({meetingType: MeetingTypeToApi({meetingType: req.meetingType})})\n .pipe(map(res => res.id));\n }\n\n /* updateMeetingType will update the meeting type fields.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updateMeetingType({name: 'Onboarding'})\n * will only update the field 'name' to 'Onboarding'. Keeping the other fields the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updateMeetingType({...object with all fields}, ['name'])\n * will only update the field 'name' to the value passed in.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `MeetingType` or with updateFields not linked to properties in\n * `MeetingType` is an error.\n */\n updateMeetingType(req: { id: string, meetingType: Partial<MeetingType>, updateFields?: (keyof MeetingType)[] }): Observable<void> {\n const fieldMask = getFieldMask({o: req.meetingType, updateFields: req.updateFields});\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService.updateMeetingType({\n id: req.id,\n meetingType: MeetingTypeToApi({meetingType: req.meetingType}),\n fieldMask,\n }).pipe(mapTo(undefined));\n }\n\n deleteMeetingType(req: { id: string }): Observable<void> {\n return this.hostAPIService.deleteMeetingType({id: req.id}).pipe(mapTo(undefined));\n }\n\n getHostsForCalendar(req: { calendarId: string }): Observable<HostUser[]> {\n return this.hostAPIService.getHostsForCalendar({calendarId: req.calendarId}).pipe(\n map(res => {\n return (res.hostUsers || []).map(hostuser => {\n return hostUserFromApi(hostuser)\n })\n })\n )\n }\n\n}\n\n\n\n","import { NgModule } from '@angular/core';\nimport {HostService} from './host.service';\nimport {MeetingsInternalModule} from '../_internal/meetings.module';\n\n@NgModule({\n imports: [\n MeetingsInternalModule,\n ],\n providers: [\n HostService\n ]\n})\nexport class HostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {HostService as ɵh} from './lib/_generated/host.service';\nexport {GoogleMeetApiService as ɵg} from './lib/_internal/google-meet.api.service';\nexport {WeekdayAvailabilityInterface as ɵe} from './lib/_internal/interfaces/meeting-host.interface';\nexport {MeetingSourceInfoInterface as ɵa,MeetingSourceListResponseInterface as ɵb,MeetingSourceQueryInterface as ɵc} from './lib/_internal/interfaces/meeting-source.interface';\nexport {ContactInterface as ɵd} from './lib/_internal/interfaces/shared.interface';\nexport {MeetingGuestApiService as ɵi} from './lib/_internal/meeting-guest.api.service';\nexport {MeetingHostApiService as ɵj} from './lib/_internal/meeting-host.api.service';\nexport {MeetingSourceAPIApiService as ɵk} from './lib/_internal/meeting-source-api.api.service';\nexport {MeetingsInternalModule as ɵf} from './lib/_internal/meetings.module';\nexport {ZoomApiService as ɵl} from './lib/_internal/zoom.api.service';"],"names":["MeetingSource","MeetingSourceStatus","CalendarType","FormFieldType","DayOfWeek","e.MeetingSource","e.MeetingSourceStatus","enumStringToValue","e.ZoomMeetingType","e.ZoomMeetingRecurrenceType","e.ZoomMonthlyWeek","e.ZoomMonthlyWeekDay","e.ZoomApprovalType","e.ZoomRegistrationType","e.FormFieldType","e.CalendarType","e.DayOfWeek","Environment","Injectable","EnvironmentService","HttpHeaders","map","share","HttpClient","NgModule","SessionServiceModule","EnvironmentServiceModule","throwError","WellKnownMeetingMetadataKeys","WellKnownFormFieldIds","KnownCalendarApplicationContextKeys","KnownCalendarExternalIntegrations","mapTo","Inject","EnvironmentServiceInterfaceToken","of","HostService"],"mappings":";;;;;;IAAA;IAOA,WAAY,aAAa;QACrB,qFAA0B,CAAA;QAC1B,+EAAuB,CAAA;QACvB,6FAA8B,CAAA;IAClC,CAAC,EAJWA,qBAAa,KAAbA,qBAAa,QAIxB;IAED,WAAY,mBAAmB;QAC3B,+GAAiC,CAAA;QACjC,mHAAmC,CAAA;QACnC,yHAAsC,CAAA;QACtC,6GAAgC,CAAA;IACpC,CAAC,EALWC,2BAAmB,KAAnBA,2BAAmB;;ICb/B;IACA;IACA;IACA;IACA;IACA;IAEA,IAAY,gBAKX;IALD,WAAY,gBAAgB;QACxB,mGAA8B,CAAA;QAC9B,6GAAmC,CAAA;QACnC,qHAAuC,CAAA;QACvC,qIAA+C,CAAA;IACnD,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;IAED,IAAY,yBAKX;IALD,WAAY,yBAAyB;QACjC,yIAAwC,CAAA;QACxC,qIAAsC,CAAA;QACtC,uIAAuC,CAAA;QACvC,yIAAwC,CAAA;IAC5C,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;IAED,IAAY,eAMX;IAND,WAAY,eAAe;QACvB,+FAA6B,CAAA;QAC7B,+FAA6B,CAAA;QAC7B,mGAA+B,CAAA;QAC/B,qHAAwC,CAAA;QACxC,+GAAqC,CAAA;IACzC,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;IAED,IAAY,eAOX;IAPD,WAAY,eAAe;QACvB,6FAA4B,CAAA;QAC5B,oGAAgC,CAAA;QAChC,qGAAgC,CAAA;QAChC,uGAAiC,CAAA;QACjC,qGAAgC,CAAA;QAChC,uGAAiC,CAAA;IACrC,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;IAED,IAAY,kBASX;IATD,WAAY,kBAAkB;QAC1B,6GAAiC,CAAA;QACjC,2GAAgC,CAAA;QAChC,2GAAgC,CAAA;QAChC,6GAAiC,CAAA;QACjC,iHAAmC,CAAA;QACnC,+GAAkC,CAAA;QAClC,2GAAgC,CAAA;QAChC,+GAAkC,CAAA;IACtC,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;IAED,IAAY,oBAKX;IALD,WAAY,oBAAoB;QAC5B,mHAAkC,CAAA;QAClC,+IAAgD,CAAA;QAChD,uIAA4C,CAAA;QAC5C,+JAAwD,CAAA;IAC5D,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;IAED,IAAY,aASX;IATD,WAAY,aAAa;QACrB,uFAA2B,CAAA;QAC3B,qFAA0B,CAAA;QAC1B,qFAA0B,CAAA;QAC1B,uFAA2B,CAAA;QAC3B,2FAA6B,CAAA;QAC7B,yFAA4B,CAAA;QAC5B,qFAA0B,CAAA;QAC1B,yFAA4B,CAAA;IAChC,CAAC,EATW,aAAa,KAAb,aAAa;;ICxDzB;IAOA,WAAY,YAAY;QACpB,iFAAyB,CAAA;QACzB,mFAA0B,CAAA;QAC1B,6EAAuB,CAAA;IAC3B,CAAC,EAJWC,oBAAY,KAAZA,oBAAY,QAIvB;IAED,WAAY,aAAa;QACrB,uFAA2B,CAAA;QAC3B,iFAAwB,CAAA;QACxB,mFAAyB,CAAA;QACzB,iGAAgC,CAAA;QAChC,qFAA0B,CAAA;IAC9B,CAAC,EANWC,qBAAa,KAAbA,qBAAa;;ICbzB;IAOA,WAAY,SAAS;QACjB,+EAA2B,CAAA;QAC3B,6CAAU,CAAA;QACV,+CAAW,CAAA;QACX,mDAAa,CAAA;QACb,iDAAY,CAAA;QACZ,6CAAU,CAAA;QACV,iDAAY,CAAA;QACZ,6CAAU,CAAA;IACd,CAAC,EATWC,iBAAS,KAATA,iBAAS;;ICPrB;;aCUgB,iBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;;QAeG,2BAAY,MAAqC;YAC7C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,2BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAC,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAkBC,qBAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAAC;YACjG,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAC,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAwBC,2BAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAAC;YAC7G,OAAO,CAAC,CAAC;SACZ;QASD,qCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;gBAClD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAAC;YACrH,OAAO,QAAQ,CAAC;SACnB;gCACJ;KAAA,IAAA;IAED;QAWI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAAC;YACtG,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAC5C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnN,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;;QAaG,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;gBAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;aAAC;YACzF,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YAC3L,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;;QAcG,4BAAY,MAAsC;YAC9C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,4BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAC,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAkBD,qBAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAAC;YACjG,OAAO,CAAC,CAAC;SACZ;QASD,sCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;gBAC/C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAAC;YAC5G,OAAO,QAAQ,CAAC;SACnB;iCACJ;KAAA;;aCxJeE,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAwBI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAhBM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAGA,mBAAiB,CAAoBC,eAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YAC/F,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAAC;YAChE,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;aAAC;YAC5G,IAAI,KAAK,CAAC,UAAU,EAAE;gBAAC,CAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aAAC;YACzF,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACjF,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnN,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YAC3L,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAkCI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAnBM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aAAC;YACnE,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAGD,mBAAiB,CAAoBC,eAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YAC/F,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAAC;YAChE,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAAC;YACjD,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;aAAC;YAC5G,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aAAC;YACzF,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACjF,IAAI,KAAK,CAAC,UAAU,EAAE;gBAAC,CAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aAAC;YACzF,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnN,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YAC3L,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAsBI,+BAAY,MAAyC;YACjD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAjBM,+BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAGD,mBAAiB,CAA8BE,yBAA2B,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YACnH,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aAAC;YAClF,IAAI,KAAK,CAAC,UAAU,EAAE;gBAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aAAC;YACtE,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAGF,mBAAiB,CAAoBG,eAAiB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YACpH,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAGH,mBAAiB,CAAuBI,kBAAoB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;aAAC;YACnI,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAAC;YAChE,OAAO,CAAC,CAAC;SACZ;QASD,yCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,OAAO,QAAQ,CAAC;SACnB;oCACJ;KAAA,IAAA;IAED;QAkCI,6BAAY,MAAuC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,6BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;gBAAC,CAAC,CAAC,YAAY,GAAGJ,mBAAiB,CAAqBK,gBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;aAAC;YACzH,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBAAC,CAAC,CAAC,gBAAgB,GAAGL,mBAAiB,CAAyBM,oBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;aAAC;YAC7I,OAAO,CAAC,CAAC;SACZ;QASD,uCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW;gBAC5C,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW;gBAC5C,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW;gBAC5C,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW;gBAC7C,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW;gBACjD,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,6BAA6B,KAAK,WAAW;gBACzD,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW;gBACjD,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW;gBACjD,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW;gBACjD,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;gBACjD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAAC;YACzG,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAAC;YACzG,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAAC;YACzG,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAAC;YAC5G,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAAC;YACxH,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,6BAA6B,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC;aAAC;YAChJ,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAAC;YACxH,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAAC;YACxH,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAAC;YACxH,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;aAAC;YAClH,OAAO,QAAQ,CAAC;SACnB;kCACJ;KAAA,IAAA;IAED;QAUI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAaI,wBAAY,MAAkC;YAC1C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,wBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAAC;YAChE,OAAO,CAAC,CAAC;SACZ;QASD,kCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;6BACJ;KAAA;;aC5YeN,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAiBI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAdM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,kBAAkB,EAAE;gBAAC,CAAC,CAAC,kBAAkB,GAAG,4BAA4B,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;aAAC;YACxH,IAAI,KAAK,CAAC,aAAa,EAAE;gBAAC,CAAC,CAAC,aAAa,GAAG,iCAAiC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aAAC;YAC9G,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;aAAC;YAC/F,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW;gBAC9C,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,kBAA0B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC3O,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAC7M,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QASI,2CAAY,MAAqD;YAC7D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,2CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;YAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,qDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;gDACJ;KAAA,IAAA;IAED;QAYI,sCAAY,MAAgD;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,sCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAG,+BAA+B,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAAC;YAC9E,OAAO,CAAC,CAAC;SACZ;QASD,gDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YACjJ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,OAAO,QAAQ,CAAC;SACnB;2CACJ;KAAA,IAAA;IAED;QASI,yCAAY,MAAmD;YAC3D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,yCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;YAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,mDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,OAAO,QAAQ,CAAC;SACnB;8CACJ;KAAA,IAAA;IAED;QAaI,2CAAY,MAAqD;YAC7D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,2CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;YAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,qBAAqB,EAAE;gBAAC,CAAC,CAAC,qBAAqB,GAAG,+BAA+B,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAAC;YACpI,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAC,CAAC,CAAC,MAAM,GAAG,iCAAiC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAAC;YACzF,OAAO,CAAC,CAAC;SACZ;QASD,qDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW;gBACjD,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,qBAA6B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAAC;YAC7P,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YACnK,OAAO,QAAQ,CAAC;SACnB;gDACJ;KAAA,IAAA;IAED;QAWI,wCAAY,MAAkD;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,wCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;YAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YAC5E,OAAO,CAAC,CAAC;SACZ;QASD,kDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,OAAO,QAAQ,CAAC;SACnB;6CACJ;KAAA,IAAA;IAED;QAYI,yCAAY,MAAmD;YAC3D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,yCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;YAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YAC5E,OAAO,CAAC,CAAC;SACZ;QASD,mDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,OAAO,QAAQ,CAAC;SACnB;8CACJ;KAAA,IAAA;IAED;QAkBI,8BAAY,MAAwC;YAChD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,8BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,wCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW;gBAC9C,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBACjC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,OAAO,QAAQ,CAAC;SACnB;mCACJ;KAAA,IAAA;IAED;QA6CI,2BAAY,MAAqC;YAC7C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAnBM,2BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;aAAC;YAC9F,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;aAAC;YACxG,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAAC;YACxE,IAAI,KAAK,CAAC,iBAAiB,EAAE;gBAAC,CAAC,CAAC,iBAAiB,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;aAAC;YAClH,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAAC;YAC3F,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAAC;YAChE,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YAC9E,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YACnF,OAAO,CAAC,CAAC;SACZ;QASD,qCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW;gBAC5C,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW;gBAC5C,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW;gBAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW;gBAC7C,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW;gBAC9C,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAAC;YACzG,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAAC;YACzG,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnN,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YACjJ,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAAC;YACrO,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,OAAO,QAAQ,CAAC;SACnB;gCACJ;KAAA,IAAA;IAED;QAmBI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;aAAC;YACxF,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW;gBAC5C,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAAC;YACzG,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAYI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAWI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAWI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;aAAC;YAC7D,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAWI,oCAAY,MAA8C;YACtD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,oCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;aAAC;YAC9F,OAAO,CAAC,CAAC;SACZ;QASD,8CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;yCACJ;KAAA;;aC7oBeA,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAYI,mBAAY,MAA6B;YACrC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YACxB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;wBACJ;KAAA;;aC7CeA,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAkBI,kBAAY,MAA4B;YACpC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,kBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,4BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;uBACJ;KAAA,IAAA;IAED;QAUI,kBAAY,MAA4B;YACpC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,OAAO,QAAQ,CAAC;SACnB;uBACJ;KAAA;;aC9FeA,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAaI,gBAAY,MAA0B;YAClC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,gBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;YACrB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAGA,mBAAiB,CAAkBO,qBAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YAC3F,OAAO,CAAC,CAAC;SACZ;QASD,0BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;qBACJ;KAAA,IAAA;IAED;QAUI,iBAAY,MAA2B;YACnC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,iBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAAC;YACjF,OAAO,CAAC,CAAC;SACZ;QASD,2BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,OAAO,QAAQ,CAAC;SACnB;sBACJ;KAAA,IAAA;IAED;QAUI,yCAAY,MAAmD;YAC3D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,yCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;YAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,mDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;8CACJ;KAAA,IAAA;IAED;QAWI,oBAAY,MAA8B;YACtC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,oBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YACzB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,8BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,OAAO,QAAQ,CAAC;SACnB;yBACJ;KAAA,IAAA;IAED;QAcI,kBAAY,MAA4B;YACpC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,OAAO,QAAQ,CAAC;SACnB;uBACJ;KAAA,IAAA;IAED;QAqBI,kBAAY,MAA4B;YACpC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,kBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,kBAAkB,EAAE;gBAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YAChL,IAAI,KAAK,CAAC,YAAY,EAAE;gBAAC,CAAC,CAAC,YAAY,GAAGP,mBAAiB,CAAiBQ,oBAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;aAAC;YACjH,OAAO,CAAC,CAAC;SACZ;QASD,4BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW;gBAC7C,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW;gBAC9C,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAAC;YAC5G,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,kBAA0B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC3O,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,OAAO,QAAQ,CAAC;SACnB;uBACJ;KAAA,IAAA;;QAiBG,iBAAY,MAA2B;YACnC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,iBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,2BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,OAAO,QAAQ,CAAC;SACnB;sBACJ;KAAA,IAAA;IAED;QAYI,cAAY,MAAwB;YAChC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,cAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACnB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,wBAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW;gBAC7C,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAC5C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAAC;YAC5G,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,OAAO,QAAQ,CAAC;SACnB;mBACJ;KAAA,IAAA;IAED;QAWI,kBAAY,MAA4B;YACpC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,OAAO,QAAQ,CAAC;SACnB;uBACJ;KAAA,IAAA;IAED;QAWI,6BAAY,MAAuC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,6BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAAC;YAChE,OAAO,CAAC,CAAC;SACZ;QASD,uCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,OAAO,QAAQ,CAAC;SACnB;kCACJ;KAAA,IAAA;IAED;QAUI,+BAAY,MAAyC;YACjD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,+BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,yCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,OAAO,QAAQ,CAAC;SACnB;oCACJ;KAAA,IAAA;IAED;QAmBI,qBAAY,MAA+B;YACvC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAhBM,qBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;YAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,IAAI,KAAK,CAAC,kBAAkB,EAAE;gBAAC,CAAC,CAAC,kBAAkB,GAAGR,mBAAiB,CAAkBF,qBAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;aAAC;YACrI,IAAI,KAAK,CAAC,qBAAqB,EAAE;gBAAC,CAAC,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;aAAC;YACvG,IAAI,KAAK,CAAC,0BAA0B,EAAE;gBAAC,CAAC,CAAC,0BAA0B,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;aAAC;YACtH,IAAI,KAAK,CAAC,UAAU,EAAE;gBAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,+BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW;gBAC9C,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW;gBACjD,OAAO,IAAI,CAAC,0BAA0B,KAAK,WAAW;gBACtD,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAAC;YACxH,IAAI,OAAO,IAAI,CAAC,0BAA0B,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;aAAC;YACvI,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,OAAO,QAAQ,CAAC;SACnB;0BACJ;KAAA,IAAA;IAED;QAYI,mBAAY,MAA6B;YACrC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,mBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YACxB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YAC3D,IAAI,KAAK,CAAC,EAAE,EAAE;gBAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAAC;YACrD,OAAO,CAAC,CAAC;SACZ;QASD,6BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAChC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACvJ,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,EAAE,GAAI,IAAI,CAAC,EAAU,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC3I,OAAO,QAAQ,CAAC;SACnB;wBACJ;KAAA;;aC3hBeE,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAaI,eAAY,MAAyB;YACjC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,eAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;YACpB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAGA,mBAAiB,CAAkBO,qBAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YAC3F,OAAO,CAAC,CAAC;SACZ;QASD,yBAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,OAAO,QAAQ,CAAC;SACnB;oBACJ;KAAA,IAAA;IAED;QAUI,cAAY,MAAwB;YAChC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,cAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACnB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAAC;YACjE,OAAO,CAAC,CAAC;SACZ;QASD,wBAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YACnK,OAAO,QAAQ,CAAC;SACnB;mBACJ;KAAA,IAAA;IAED;QAqBI,qBAAY,MAA+B;YACvC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,qBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;YAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YACtD,OAAO,CAAC,CAAC;SACZ;QASD,+BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW;gBAC3C,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,0BAA0B,KAAK,WAAW;gBACtD,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;aAAC;YACtG,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACvJ,IAAI,OAAO,IAAI,CAAC,0BAA0B,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;aAAC;YACvI,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;0BACJ;KAAA;;aC/IeP,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAYI,mBAAY,MAA6B;YACrC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,mBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YACxB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YACnD,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAAC;YAC7C,OAAO,CAAC,CAAC;SACZ;QASD,6BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBACjC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YACjJ,OAAO,QAAQ,CAAC;SACnB;wBACJ;KAAA;;aCtCeA,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAsBI,4BAAY,MAAsC;YAC9C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAhBM,4BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACvE,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAAC;YAC5E,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YACnD,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YACxI,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAC9E,OAAO,CAAC,CAAC;SACZ;QASD,sCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAC5C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YAC9E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,OAAO,QAAQ,CAAC;SACnB;iCACJ;KAAA,IAAA;IAED;QAUI,6BAAY,MAAuC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,6BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,uCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;kCACJ;KAAA,IAAA;IAED;QASI,4BAAY,MAAsC;YAC9C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,4BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,sCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;iCACJ;KAAA,IAAA;IAED;QAUI,6BAAY,MAAuC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,6BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,uCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;kCACJ;KAAA,IAAA;IAED;QASI,wBAAY,MAAkC;YAC1C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,wBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,kCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;6BACJ;KAAA,IAAA;IAED;QAUI,yBAAY,MAAmC;YAC3C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,yBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAAC;YACtD,OAAO,CAAC,CAAC;SACZ;QASD,mCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACvJ,OAAO,QAAQ,CAAC;SACnB;8BACJ;KAAA,IAAA;IAED;QAUI,+BAAY,MAAyC;YACjD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,+BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,yCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBAC7C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;aAAC;YACtG,OAAO,QAAQ,CAAC;SACnB;oCACJ;KAAA,IAAA;IAED;QAUI,gCAAY,MAA0C;YAClD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,gCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;YACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAClF,OAAO,CAAC,CAAC;SACZ;QASD,0CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,OAAO,QAAQ,CAAC;SACnB;qCACJ;KAAA,IAAA;IAED;QAWI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAChD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAUI,sCAAY,MAAgD;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,sCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,gDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,OAAO,QAAQ,CAAC;SACnB;2CACJ;KAAA,IAAA;IAED;QAeI,uCAAY,MAAiD;YACzD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAdM,uCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAAC;YAC/D,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,iDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAC3C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,OAAO,QAAQ,CAAC;SACnB;4CACJ;KAAA,IAAA;IAED;QASI,sCAAY,MAAgD;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,sCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,gDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;2CACJ;KAAA,IAAA;IAED;QASI,uCAAY,MAAiD;YACzD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,uCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,iDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,OAAO,QAAQ,CAAC;SACnB;4CACJ;KAAA,IAAA;IAED;QAcI,uCAAY,MAAiD;YACzD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,uCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YACnD,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,iDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;4CACJ;KAAA,IAAA;IAED;QAcI,uCAAY,MAAiD;YACzD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,uCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACvE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,iDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;4CACJ;KAAA,IAAA;IAED;QAUI,wCAAY,MAAkD;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,wCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;YAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAAC;YAC9E,OAAO,CAAC,CAAC;SACZ;QASD,kDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,OAAO,QAAQ,CAAC;SACnB;6CACJ;KAAA,IAAA;IAED;QASI,iCAAY,MAA2C;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,iCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,2CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;sCACJ;KAAA,IAAA;IAED;QAUI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;gBAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAAC;YACzF,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YACvM,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAUI,yCAAY,MAAmD;YAC3D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,yCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;YAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,mDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;8CACJ;KAAA;;aC3qBeA,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QASI,mBAAY,MAA6B;YACrC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YACxB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;wBACJ;KAAA;;aChCeA,mBAAiB,CAAI,OAAY,EAAE,KAAa;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;QAUI,6DAAY,MAAuE;YAC/E,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,6DAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mDAAmD,EAAE,CAAC;YAClE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,uEAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;kEACJ;KAAA,IAAA;IAED;QAUI,8EAAY,MAAwF;YAChG,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,8EAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,oEAAoE,EAAE,CAAC;YACnF,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,wFAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;mFACJ;KAAA,IAAA;IAED;QAgBI,0BAAY,MAAoC;YAC5C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAdM,0BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAGA,mBAAiB,CAAcS,iBAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;aAAC;YAChF,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACvE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,oCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;+BACJ;KAAA,IAAA;IAED;QAWI,4BAAY,MAAsC;YAC9C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,4BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,4BAA4B,EAAE;gBAAC,CAAC,CAAC,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YACxN,OAAO,CAAC,CAAC;SACZ;QASD,sCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,4BAA4B,KAAK,WAAW;gBACxD,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,4BAA4B,KAAK,WAAW,IAAI,IAAI,CAAC,4BAA4B,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,8BAA8B,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,4BAA4B,GAAI,IAAI,CAAC,4BAAoC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC;aAAC;YACvS,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;iCACJ;KAAA,IAAA;IAED;QASI,6BAAY,MAAuC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,6BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,uCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;kCACJ;KAAA,IAAA;IAED;QAWI,yEAAY,MAAmF;YAC3F,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,yEAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,+DAA+D,EAAE,CAAC;YAC9E,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YACpE,OAAO,CAAC,CAAC;SACZ;QASD,mFAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,OAAO,QAAQ,CAAC;SACnB;8EACJ;KAAA,IAAA;IAED;QAUI,8BAAY,MAAwC;YAChD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,8BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,wCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAChD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,OAAO,QAAQ,CAAC;SACnB;mCACJ;KAAA,IAAA;IAED;QAQI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAQI,oCAAY,MAA8C;YACtD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,oCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,8CAAS,GAAT;YACI,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,OAAO,QAAQ,CAAC;SACnB;yCACJ;KAAA,IAAA;;QAYG,+BAAY,MAAyC;YACjD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,+BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,yCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;oCACJ;KAAA,IAAA;;QAWG,gCAAY,MAA0C;YAClD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,gCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;YACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,0CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;qCACJ;KAAA,IAAA;IAED;QASI,0CAAY,MAAoD;YAC5D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,0CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;YAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,oDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;+CACJ;KAAA,IAAA;IAED;QAUI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAClF,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QASI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAChC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAQI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QASI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAChC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QASI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAChD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAAC;YAC/G,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QASI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QASI,0CAAY,MAAoD;YAC5D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,0CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;YAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,oDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,OAAO,QAAQ,CAAC;SACnB;+CACJ;KAAA,IAAA;IAED;QASI,2CAAY,MAAqD;YAC7D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,2CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;YAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,qDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,OAAO,QAAQ,CAAC;SACnB;gDACJ;KAAA,IAAA;IAED;QAWI,6CAAY,MAAuD;YAC/D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,6CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;YAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,4BAA4B,EAAE;gBAAC,CAAC,CAAC,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YACxN,OAAO,CAAC,CAAC;SACZ;QASD,uDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,4BAA4B,KAAK,WAAW,EAAE;gBAC1D,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,4BAA4B,KAAK,WAAW,IAAI,IAAI,CAAC,4BAA4B,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,8BAA8B,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,4BAA4B,GAAI,IAAI,CAAC,4BAAoC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC;aAAC;YACvS,OAAO,QAAQ,CAAC;SACnB;kDACJ;KAAA,IAAA;IAED;QASI,8CAAY,MAAwD;YAChE,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,8CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;YACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,wDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;mDACJ;KAAA,IAAA;IAED;QAUI,wCAAY,MAAkD;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,wCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;YAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,kDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAC3C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,OAAO,QAAQ,CAAC;SACnB;6CACJ;KAAA,IAAA;IAED;QAYI,0CAAY,MAAoD;YAC5D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,0CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;YAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACvE,OAAO,CAAC,CAAC;SACZ;QASD,oDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;+CACJ;KAAA,IAAA;IAED;QAUI,+BAAY,MAAyC;YACjD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,+BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,yCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YACjF,OAAO,QAAQ,CAAC;SACnB;oCACJ;KAAA,IAAA;IAED;QAUI,gCAAY,MAA0C;YAClD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,gCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;YACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YAClE,OAAO,CAAC,CAAC;SACZ;QASD,0CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,OAAO,QAAQ,CAAC;SACnB;qCACJ;KAAA,IAAA;IAED;QASI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAUI,oCAAY,MAA8C;YACtD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,oCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAClF,OAAO,CAAC,CAAC;SACZ;QASD,8CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,OAAO,QAAQ,CAAC;SACnB;yCACJ;KAAA,IAAA;IAED;QASI,oCAAY,MAA8C;YACtD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,oCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,8CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;yCACJ;KAAA,IAAA;IAED;QAUI,qCAAY,MAA+C;YACvD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,qCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;YAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAAC;YAC7E,OAAO,CAAC,CAAC;SACZ;QASD,+CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,OAAO,QAAQ,CAAC;SACnB;0CACJ;KAAA,IAAA;IAED;QASI,4CAAY,MAAsD;YAC9D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,4CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;YACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,sDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,OAAO,QAAQ,CAAC;SACnB;iDACJ;KAAA,IAAA;IAED;QAUI,6CAAY,MAAuD;YAC/D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,6CAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;YAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,uBAAuB,EAAE;gBAAC,CAAC,CAAC,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YAC/N,OAAO,CAAC,CAAC;SACZ;QASD,uDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,uBAAuB,KAAK,WAAW,EAAE;gBACrD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,WAAW,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,uBAAuB,GAAI,IAAI,CAAC,uBAA+B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAAC;YACzQ,OAAO,QAAQ,CAAC;SACnB;kDACJ;KAAA,IAAA;IAED;QAiBI,gCAAY,MAA0C;YAClD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAdM,gCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;YACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;gBAAC,CAAC,CAAC,aAAa,GAAGT,mBAAiB,CAAkBF,qBAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;aAAC;YACtH,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACvE,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAAC;YAC5E,OAAO,CAAC,CAAC;SACZ;QASD,0CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;qCACJ;KAAA,IAAA;IAED;QASI,iCAAY,MAA2C;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,iCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,2CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,OAAO,QAAQ,CAAC;SACnB;sCACJ;KAAA,IAAA;IAED;QASI,gCAAY,MAA0C;YAClD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,gCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;YACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,0CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBACxC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,OAAO,QAAQ,CAAC;SACnB;qCACJ;KAAA,IAAA;IAED;QAUI,iCAAY,MAA2C;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,iCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,2CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;sCACJ;KAAA,IAAA;IAED;QAUI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW;gBACxC,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBAC7C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;aAAC;YACtG,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAUI,oCAAY,MAA8C;YACtD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,oCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAClF,OAAO,CAAC,CAAC;SACZ;QASD,8CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,OAAO,QAAQ,CAAC;SACnB;yCACJ;KAAA,IAAA;IAED;QASI,qCAAY,MAA+C;YACvD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,qCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;YAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,+CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;0CACJ;KAAA,IAAA;IAED;QAUI,sCAAY,MAAgD;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,sCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;gBAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAAC;YACzF,OAAO,CAAC,CAAC;SACZ;QASD,gDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YACvM,OAAO,QAAQ,CAAC;SACnB;2CACJ;KAAA,IAAA;IAED;QASI,iCAAY,MAA2C;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,iCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,2CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,OAAO,QAAQ,CAAC;SACnB;sCACJ;KAAA,IAAA;IAED;QASI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YAC7F,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAcI,iCAAY,MAA2C;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAdM,iCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;gBAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aAAC;YAChG,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,8BAA8B,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YACzF,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,2CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAC7M,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;sCACJ;KAAA,IAAA;IAED;QAYI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE;gBAAC,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aAAC;YAC7G,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACnF,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW;gBAC7C,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAAC;YACrO,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAcI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAdM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YAC3F,IAAI,KAAK,CAAC,aAAa,EAAE;gBAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aAAC;YAChG,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAC7M,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAYI,oCAAY,MAA8C;YACtD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,oCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAAC;YACzE,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;aAAC;YACrG,OAAO,CAAC,CAAC;SACZ;QASD,8CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAC5C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnN,OAAO,QAAQ,CAAC;SACnB;yCACJ;KAAA,IAAA;IAED;QA8BI,iBAAY,MAA2B;YACnC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAnBM,iBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YACnD,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YACzD,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAAC;YACzD,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAAC;YAC7E,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAC9E,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YACxI,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aAAC;YACrF,OAAO,CAAC,CAAC;SACZ;QASD,2BAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW;gBACnC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;gBACjC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YACjJ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aAAC;YACzK,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnG,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,OAAO,QAAQ,CAAC;SACnB;sBACJ;KAAA,IAAA;IAED;QAUI,yBAAY,MAAmC;YAC3C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,yBAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;gBAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAAC;YACzF,OAAO,CAAC,CAAC;SACZ;QASD,mCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBAC1C,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;aAAC;YACvM,OAAO,QAAQ,CAAC;SACnB;8BACJ;KAAA,IAAA;IAED;QAUI,8BAAY,MAAwC;YAChD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,8BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,wCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;mCACJ;KAAA,IAAA;IAED;QAUI,mDAAY,MAA6D;YACrE,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mDAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yCAAyC,EAAE,CAAC;YACxD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6DAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YACxE,OAAO,QAAQ,CAAC;SACnB;wDACJ;KAAA,IAAA;IAED;QAWI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAAC;YACnD,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;gBACnC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;aAAC;YAC7J,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;IAED;QAkBI,uCAAY,MAAiD;YACzD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAfM,uCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAS,IAAK,OAAAE,mBAAiB,CAAcS,iBAAW,EAAE,CAAC,CAAC,GAAA,CAAC,CAAC;aAAC;YACzG,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACvE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAAC;YACtE,IAAI,KAAK,CAAC,oBAAoB,EAAE;gBAAC,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;aAAC;YACzH,OAAO,CAAC,CAAC;SACZ;QASD,iDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;gBACzC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;gBAClD,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAAC;YAChG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAAC;YACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,oBAAoB,GAAI,IAAI,CAAC,oBAA4B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAAC;YACvP,OAAO,QAAQ,CAAC;SACnB;4CACJ;KAAA,IAAA;IAED;QAQI,mCAAY,MAA6C;YACrD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAXM,mCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;SACZ;QASD,6CAAS,GAAT;YACI,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,OAAO,QAAQ,CAAC;SACnB;wCACJ;KAAA,IAAA;IAED;QAaI,+BAAY,MAAyC;YACjD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,+BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;aAAC;YACxF,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAAC;YAC1E,OAAO,CAAC,CAAC;SACZ;QASD,yCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;gBACtC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW;gBAC1C,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAAC;YACvF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;aAAC;YACnN,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,OAAO,QAAQ,CAAC;SACnB;oCACJ;KAAA,IAAA;IAED;QAaI,sCAAY,MAAgD;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,sCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAClF,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAAC;YAC1E,OAAO,CAAC,CAAC;SACZ;QASD,gDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aAAC;YAC3E,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,OAAO,QAAQ,CAAC;SACnB;2CACJ;KAAA,IAAA;IAED;QAWI,sCAAY,MAAgD;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAZM,sCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAM,UAAC,GAAG,EAAE,CAAC,IAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAAC;YACxI,OAAO,CAAC,CAAC;SACZ;QASD,gDAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;aAAC;YAC/K,OAAO,QAAQ,CAAC;SACnB;2CACJ;KAAA,IAAA;IAED;QAaI,kCAAY,MAA4C;YACpD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,kCAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAAC;YAClF,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAAC;YAC1E,OAAO,CAAC,CAAC;SACZ;QASD,4CAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW;gBAC9B,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;gBACvC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;aAAC;YAC/D,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;YACjM,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,OAAO,QAAQ,CAAC;SACnB;uCACJ;KAAA,IAAA;;QAcG,6BAAY,MAAuC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;QAbM,6BAAS,GAAhB,UAAiB,KAAU;YACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE;gBAAC,CAAC,CAAC,GAAG,GAAGT,mBAAiB,CAAcS,iBAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;aAAC;YAChF,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAAC;YAC9E,OAAO,CAAC,CAAC;SACZ;QASD,uCAAS,GAAT;YACI,IACI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW;gBAC/B,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;gBACvC,OAAO,EAAE,CAAC;aACb;YAED,IAAM,QAAQ,GAEV,EAAE,CAAC;YAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAAC;YAClE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;aAAC;YACrL,OAAO,QAAQ,CAAC;SACnB;kCACJ;KAAA;;ICt9DD;;;QCQI,qBAAoB,kBAAsC;YAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;SACzD;QAED,0BAAI,GAAJ;YACI,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;YAED,QAAQ,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;gBAC5C,KAAKC,gBAAW,CAAC,KAAK;oBAClB,IAAI,CAAC,KAAK,GAAG,iCAAiC,CAAC;oBAC/C,MAAM;gBACV,KAAKA,gBAAW,CAAC,IAAI;oBACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,MAAM;gBACV,KAAKA,gBAAW,CAAC,IAAI;oBACjB,IAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;oBAC3C,MAAM;gBACV,KAAKA,gBAAW,CAAC,IAAI;oBACjB,IAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;oBAC3C,MAAM;aACb;YACD,OAAO,IAAI,CAAC,KAAK,CAAC;SACrB;QAED,+BAAS,GAAT;YACI,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;YAED,QAAQ,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;gBAC5C,KAAKA,gBAAW,CAAC,KAAK;oBAClB,IAAI,CAAC,UAAU,GAAG,6BAA6B,CAAC;oBAChD,MAAM;gBACV,KAAKA,gBAAW,CAAC,IAAI;oBACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,MAAM;gBACV,KAAKA,gBAAW,CAAC,IAAI;oBACjB,IAAI,CAAC,UAAU,GAAG,6BAA6B,CAAC;oBAChD,MAAM;gBACV,KAAKA,gBAAW,CAAC,IAAI;oBACjB,IAAI,CAAC,UAAU,GAAG,6BAA6B,CAAC;oBAChD,MAAM;aACb;YACD,OAAO,IAAI,CAAC,UAAU,CAAC;SAC1B;QAED,oCAAc,GAAd;YACI,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAKA,gBAAW,CAAC,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;YACvG,OAAO,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;SAC9B;QAED,yCAAmB,GAAnB;YACI,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAKA,gBAAW,CAAC,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;YACvG,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;SACnC;;;;gBA5DJC,iBAAU;;;gBAFFC,uBAAkB;;;ICD3B;;QAuBI,8BAAoB,IAAgB,EAAU,WAAwB;YAAlD,SAAI,GAAJ,IAAI,CAAY;YAAU,gBAAW,GAAX,WAAW,CAAa;SACrE;QAEO,yCAAU,GAAV;YACJ,OAAO;gBACH,OAAO,EAAE,IAAIC,gBAAW,CAAC;oBACrB,cAAc,EAAE,kBAAkB;iBACrC,CAAC;gBACF,eAAe,EAAE,IAAI;aACxB,CAAC;SACL;QAED,4CAAa,GAAb,UAAc,CAA2E;YACrF,IAAM,OAAO,GAAG,CAAkC,CAAE,CAAC,SAAS,IAAqC,CAAE,GAAG,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC;YAC9I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC/K,IAAI,CACDC,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAC5DC,eAAK,EAAE,CACV,CAAC;SACT;;;;gBAtBJJ,iBAAU;;;gBALUK,eAAU;gBACvB,WAAW;;;IChBnB;;QAuDI,gCAAoB,IAAgB,EAAU,WAAwB;YAAlD,SAAI,GAAJ,IAAI,CAAY;YAAU,gBAAW,GAAX,WAAW,CAAa;SACrE;QAEO,2CAAU,GAAV;YACJ,OAAO;gBACH,OAAO,EAAE,IAAIH,gBAAW,CAAC;oBACrB,cAAc,EAAE,kBAAkB;iBACrC,CAAC;gBACF,eAAe,EAAE,IAAI;aACxB,CAAC;SACL;QAED,iDAAgB,GAAhB,UAAiB,CAA6D;YAC1E,IAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC7K,IAAI,CACDC,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACrDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,+CAAc,GAAd,UAAe,CAAyD;YACpE,IAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACzK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACnDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,uDAAsB,GAAtB,UAAuB,CAAyE;YAC5F,IAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;YAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,kDAAkD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACzL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAC3DC,eAAK,EAAE,CACV,CAAC;SACT;QACD,4CAAW,GAAX,UAAY,CAAmD;YAC3D,IAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACnK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAChDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,8CAAa,GAAb,UAAc,CAAiE;YAC3E,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SAChL;QACD,kDAAiB,GAAjB,UAAkB,CAAyE;YACvF,IAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;YAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACpL;QACD,sDAAqB,GAArB,UAAsB,CAAuE;YACzF,IAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACvL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAC1DC,eAAK,EAAE,CACV,CAAC;SACT;QACD,4CAAW,GAAX,UAAY,CAAmD;YAC3D,IAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACnK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAChDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,wCAAO,GAAP,UAAQ,CAA2C;YAC/C,IAAM,OAAO,GAAG,CAAkB,CAAE,CAAC,SAAS,IAAqB,CAAE,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC3J,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAC5CC,eAAK,EAAE,CACV,CAAC;SACT;QACD,iDAAgB,GAAhB,UAAiB,CAAuE;YACpF,IAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAClL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAC1DC,eAAK,EAAE,CACV,CAAC;SACT;;;;gBAtFJJ,iBAAU;;;gBALUK,eAAU;gBACvB,WAAW;;;IChDnB;;QAiHI,+BAAoB,IAAgB,EAAU,WAAwB;YAAlD,SAAI,GAAJ,IAAI,CAAY;YAAU,gBAAW,GAAX,WAAW,CAAa;SACrE;QAEO,0CAAU,GAAV;YACJ,OAAO;gBACH,OAAO,EAAE,IAAIH,gBAAW,CAAC;oBACrB,cAAc,EAAE,kBAAkB;iBACrC,CAAC;gBACF,eAAe,EAAE,IAAI;aACxB,CAAC;SACL;QAED,2CAAW,GAAX,UAAY,CAAmD;YAC3D,IAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAClK,IAAI,CACDC,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAChDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,iDAAiB,GAAjB,UAAkB,CAA+D;YAC7E,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC9K,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACtDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,8CAAc,GAAd,UAAe,CAAyD;YACpE,IAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACxK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACnDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,8CAAc,GAAd,UAAe,CAAyD;YACpE,IAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SAChL;QACD,2CAAW,GAAX,UAAY,CAA2D;YACnE,IAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACtK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACpDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,4DAA4B,GAA5B,UAA6B,CAAqF;YAC9G,IAAM,OAAO,GAAG,CAAuC,CAAE,CAAC,SAAS,IAA0C,CAAE,GAAG,IAAI,mCAAmC,CAAC,CAAC,CAAC,CAAC;YAC7J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,uDAAuD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACpM,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,oCAAoC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACjEC,eAAK,EAAE,CACV,CAAC;SACT;QACD,yDAAyB,GAAzB,UAA0B,CAA+E;YACrG,IAAM,OAAO,GAAG,CAAoC,CAAE,CAAC,SAAS,IAAuC,CAAE,GAAG,IAAI,gCAAgC,CAAC,CAAC,CAAC,CAAC;YACpJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,oDAAoD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC9L,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,iCAAiC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAC9DC,eAAK,EAAE,CACV,CAAC;SACT;QACD,mDAAmB,GAAnB,UAAoB,CAAmE;YACnF,IAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;YAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAClL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACxDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,2DAA2B,GAA3B,UAA4B,CAAmF;YAC3G,IAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;YAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,sDAAsD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAClM,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mCAAmC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EAChEC,eAAK,EAAE,CACV,CAAC;SACT;QACD,gDAAgB,GAAhB,UAAiB,CAA6D;YAC1E,IAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC5K,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACrDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,2CAAW,GAAX,UAAY,CAA2D;YACnE,IAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACtK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACpDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,8CAAc,GAAd,UAAe,CAAyD;YACpE,IAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACxK,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACnDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,kDAAkB,GAAlB,UAAmB,CAAiE;YAChF,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAChL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACvDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,6CAAa,GAAb,UAAc,CAAuD;YACjE,IAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SAC/K;QACD,iDAAiB,GAAjB,UAAkB,CAA+D;YAC7E,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACnL;QACD,qDAAqB,GAArB,UAAsB,CAAuE;YACzF,IAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACvL;QACD,sDAAsB,GAAtB,UAAuB,CAAyE;YAC5F,IAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;YAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACxL;QACD,kDAAkB,GAAlB,UAAmB,CAAiE;YAChF,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAChL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACvDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,kDAAkB,GAAlB,UAAmB,CAAiE;YAChF,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACpL;QACD,kDAAkB,GAAlB,UAAmB,CAAiE;YAChF,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACpL;QACD,gDAAgB,GAAhB,UAAiB,CAA6D;YAC1E,IAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC5K,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACrDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,kDAAkB,GAAlB,UAAmB,CAAiE;YAChF,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAChL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACvDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,qDAAqB,GAArB,UAAsB,CAAuE;YACzF,IAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACvL;QACD,8CAAc,GAAd,UAAe,CAAiE;YAC5E,IAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC5K,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACvDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,gDAAgB,GAAhB,UAAiB,CAAqE;YAClF,IAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;YACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAChL,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACzDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,iDAAiB,GAAjB,UAAkB,CAA+D;YAC7E,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC9K,IAAI,CACDD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACtDC,eAAK,EAAE,CACV,CAAC;SACT;QACD,iDAAiB,GAAjB,UAAkB,CAA+D;YAC7E,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACnL;QACD,iDAAiB,GAAjB,UAAkB,CAA+D;YAC7E,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SACnL;QACD,yDAAyB,GAAzB,UAA0B,CAA+E;YACrG,IAAM,OAAO,GAAG,CAAoC,CAAE,CAAC,SAAS,IAAuC,CAAE,GAAG,IAAI,gCAAgC,CAAC,CAAC,CAAC,CAAC;YACpJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,oDAAoD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;SAC3L;;;;gBA1MJJ,iBAAU;;;gBALUK,eAAU;gBACvB,WAAW;;;IC1GnB;;QAuBI,oCAAoB,IAAgB,EAAU,WAAwB;YAAlD,SAAI,GAAJ,IAAI,CAAY;YAAU,gBAAW,GAAX,WAAW,CAAa;SACrE;QAEO,+CAAU,GAAV;YACJ,OAAO;gBACH,OAAO,EAAE,IAAIH,gBAAW,CAAC;oBACrB,cAAc,EAAE,kBAAkB;iBACrC,CAAC;gBACF,eAAe,EAAE,IAAI;aACxB,CAAC;SACL;QAED,yCAAI,GAAJ,UAAK,CAA+D;YAChE,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACtK,IAAI,CACDC,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACtDC,eAAK,EAAE,CACV,CAAC;SACT;;;;gBAtBJJ,iBAAU;;;gBALUK,eAAU;gBACvB,WAAW;;;IChBnB;;QAuBI,wBAAoB,IAAgB,EAAU,WAAwB;YAAlD,SAAI,GAAJ,IAAI,CAAY;YAAU,gBAAW,GAAX,WAAW,CAAa;SACrE;QAEO,mCAAU,GAAV;YACJ,OAAO;gBACH,OAAO,EAAE,IAAIH,gBAAW,CAAC;oBACrB,cAAc,EAAE,kBAAkB;iBACrC,CAAC;gBACF,eAAe,EAAE,IAAI;aACxB,CAAC;SACL;QAED,sCAAa,GAAb,UAAc,CAA+D;YACzE,IAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACnK,IAAI,CACDC,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAA,CAAC,EACtDC,eAAK,EAAE,CACV,CAAC;SACT;;;;gBAtBJJ,iBAAU;;;gBALUK,eAAU;gBACvB,WAAW;;;IChBnB;;QA6BA;;;;;gBAdCC,eAAQ,SAAC;oBACR,OAAO,EAAE,CAACC,yBAAoB,EAAEC,6BAAwB,CAAC;oBACzD,SAAS,EAAE;wBACT,oBAAoB;wBACpB,sBAAsB;wBACtB,qBAAqB;wBACrB,0BAA0B;wBAC1B,cAAc;wBACZ,WAAW;qBACd;oBACD,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,EAAE;iBACpB;;;ICSD,SAAS,uBAAuB;QAC5B,IAAM,aAAa,GAAG,EAAE,CAAC;QACzB,IAAM,gBAAgB,GAClB,oEAAoE,CAAC;QAEzE,IAAI;YACA,IAAM,IAAI,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClB,GAAG,CAAC,UAAC,CAAS,IAAK,OAAA,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAA,CAAC;iBACxE,IAAI,CAAC,EAAE,CAAC,CAAC;SACjB;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,iDAAiD;gBAC3D,iDAAiD,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC;iBAC1B,GAAG,CAAC,cAAM,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAA,CAAC;iBAC9D,IAAI,CAAC,EAAE,CAAC,CAAC;SACjB;IACL,CAAC;;QAIG,yBACqB,IAAgC,EAChC,IAAoB,EACpB,IAA0B;YAF1B,SAAI,GAAJ,IAAI,CAA4B;YAChC,SAAI,GAAJ,IAAI,CAAgB;YACpB,SAAI,GAAJ,IAAI,CAAsB;SAE9C;;;;;QAMD,8BAAI,GAAJ,UAAK,cAAoC;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,cAAc,EAAE,cAAc;aACjC,CAAC,CAAA;SACL;QAED,qCAAW,GAAX,UAAY,SAAiB,EAAE,cAAoC;YAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,SAAS,WAAA;gBACT,cAAc,gBAAA;aACjB,CAAC,CAAC;SACN;QAED,6CAAmB,GAAnB,UACI,YAAoB,EACpB,aAAqB,EACrB,aAA4B,EAC5B,cAAqD;YAErD,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,aAAa;gBACjB,KAAK1B,qBAAa,CAAC,sBAAsB;oBACrC,OAAO2B,eAAU,CAAC,kCAAkC,CAAC,CAAC;gBAC1D,KAAK3B,qBAAa,CAAC,mBAAmB;oBAClC,IAAM,GAAG,GAAG,+BAA+B,CAAC,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CACpCqB,aAAG,CAAC,UAAC,IAA+B,IAAK,QACf,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAC3F,IAAA,CAAC,CACL,CAAC;gBACN,KAAKrB,qBAAa,CAAC,0BAA0B;oBACzC,IAAI,CAAC,cAAc,EAAE;wBACjB,OAAO2B,eAAU,CAAC,gDAAgD,CAAC,CAAA;qBACtE;oBACD,IAAM,OAAO,GAAG,+BAA+B,CAAC,YAAY,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;oBACnF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CACxCN,aAAG,CAAC,UAAC,IAAqC,IACtC,QAAsB,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAC,IAAA,CAC3F,CACJ,CAAC;gBACN;oBACI,OAAOM,eAAU,CAAC,8BAA8B,GAAG,aAAa,CAAC,CAAC;aACzE;SACJ;QAED,yDAA+B,GAA/B,UAAgC,KAAa,EAAE,MAAc,EAAE,aAAqB,EACpD,QAAgB,EAAE,QAAgB,EAAE,eAAuB;YACvF,IAAM,GAAG,GAA6B,IAAI,wBAAwB,CAAC;gBAC/D,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe,CAAC,2BAA2B;gBACjD,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,eAAe,GAAG,eAAe,GAAG,uBAAuB,EAAE;gBACvE,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE;oBACN,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,KAAK;iBACtB;gBACD,UAAU,EAAE;oBACR,IAAI,EAAE,yBAAyB,CAAC,kCAAkC;iBACrE;aACJ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,kDAAwB,GAAxB,UACI,KAAa,EACb,MAAc,EACd,aAAqB,EACrB,WAAmB,EACnB,QAAgB,EAChB,SAA+C;YAE/C,IAAM,GAAG,GAAmC,IAAI,8BAA8B,CAAC;gBAC3E,OAAO,EAAE;oBACL,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE;wBACH,QAAQ,EAAE,aAAa;wBACvB,QAAQ,EAAE,QAAQ;qBACrB;oBACD,GAAG,EAAE;wBACD,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,QAAQ;qBACrB;oBACD,OAAO,EAAE,KAAK;iBACjB;aACJ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACvC;;;;gBAzGJT,iBAAU;;;gBAtDH,0BAA0B;gBAc1B,cAAc;gBACd,oBAAoB;;IAoJ5B,SAAS,+BAA+B,CACpC,YAAoB,EAAE,GAAS,EAAE,aAAqB;QAEtD,IAAM,UAAU,GAAmC;YAC/C,IAAI,EAAE,yBAAyB,CAAC,kCAAkC;YAClE,cAAc,EAAE,CAAC;SACpB,CAAC;QACF,IAAM,GAAG,GAAsC;YAC3C,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,eAAe,CAAC,yBAAyB;YAC/C,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;YAC5B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,uBAAuB,EAAE;YACnC,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,EAAE;YAClB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,SAAS;SACtB,CAAC;QACF,OAAO,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,+BAA+B,CACpC,YAAoB,EAAE,aAAmB,EAAE,SAA+C;QAE1F,IAAM,KAAK,GAAuC;YAC9C,QAAQ,EAAE,aAAa,CAAC,WAAW,EAAE;YACrC,QAAQ,EAAE,KAAK;SAClB,CAAA;QACD,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACpF,IAAM,GAAG,GAAuC;YAC5C,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;YAC/B,QAAQ,EAAE,KAAK;SAClB,CAAA;QACD,IAAM,cAAc,GAAsC;YACtD,aAAa,EAAE;gBACX,SAAS,EAAE,sBAAsB;aACpC;YACD,kBAAkB,EAAE;gBAChB,GAAG,EAAE;oBACD,IAAI,EAAE,cAAc;iBACvB;aACJ;SACJ,CAAA;QACD,IAAM,OAAO,GAA+B;YACxC,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,GAAG;YACR,cAAc,EAAE,cAAc;YAC9B,SAAS,EAAE,SAAS;SACvB,CAAA;QACD,IAAM,GAAG,GAA4C;YACjD,OAAO,EAAE,OAAO;SACnB,CAAA;QACD,OAAO,IAAI,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACnD;;IC7NA;;QAkBA;;;;;gBARCM,eAAQ,SAAC;oBACR,OAAO,EAAE;wBACL,sBAAsB;qBACzB;oBACD,SAAS,EAAE;wBACP,eAAe;qBAClB;iBACF;;;ICjBD;;aCQgB,eAAe,CAAC,KAAgB;QAC9C,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAA;IACH;;aCLgB,WAAW,CAAC,OAAgB;QAC1C,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAA;IACH;;ICdA;aAGgB,2BAA2B,CACvC,GAQC;QAED,IAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzD,IAAM,WAAW,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,aAAa,IAAI,YAAY,CAAC;QAC7E,IAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC;QACxD,IAAM,GAAG,GAAG,aAAW,MAAM,cAAS,YAAY,SAAI,WAAa,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACf,OAAO,GAAG,CAAC;SACd;QACD,OAAO,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC,CAAC;IACzE,CAAC;aAEe,kCAAkC,CAAC,GAKlD;QACG,IAAM,GAAG,GAAG,aAAW,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,CAAE,CAAC;QACzG,OAAO,GAAG,CAAC,QAAQ,GAAG,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC,GAAG,GAAG,CAAC;IAC9F,CAAC;IAED,SAAS,wBAAwB,CAAC,GAAgB;QAC9C,IAAI,GAAG,KAAKP,gBAAW,CAAC,IAAI,EAAE;YAC1B,OAAO,gBAAgB,CAAC;SAC3B;QACD,OAAO,qCAAqC,CAAC;IACjD,CAAC;aAEe,wBAAwB,CAAC,GAA0D;QAC/F,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACf,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;QACD,IAAM,CAAC,GAAG,GAAG,CAAC,QAAqC,CAAC;QACpD,IAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,GAAG;YAClD,IAAI,CAAC,MAAM,EAAE;gBACT,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC5B,OAAO,MAAI,GAAG,SAAI,CAAC,CAAC,GAAG,CAAG,CAAC;iBAC9B;gBACD,OAAO,MAAI,GAAG,SAAI,CAAC,CAAC,GAAG,CAAG,CAAC;aAC9B;YACD,OAAU,MAAM,SAAI,GAAG,SAAI,CAAC,CAAC,GAAG,CAAG,CAAC;SACvC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,KAAG,GAAG,CAAC,IAAI,GAAG,WAAa,CAAC;IACvC;;aCrBgB,kBAAkB,CAAC,GAMlC;;QACG,IAAI,UAAU,GAAG,OAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,cAAc,0CAAE,UAAU,KAAI,EAAE,CAAC;QACvD,IAAI,UAAU,KAAK,EAAE,EAAE;YACnB,UAAU,GAAG,2BAA2B,CAAC;gBACrC,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE;gBAClF,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;aACjC,CAAC,CAAC;SACN;aAAM;YACH,UAAU,GAAG,wBAAwB,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAC,CAAC,CAAC;SAC3F;QAED,IAAM,IAAI,oCACF,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAC,MAAM,EAAE,EAAE,EAAC,MAC3C,MAAM,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,CAAC,UAAA,KAAK;gBAC/G,uCACO,KAAK,KACR,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EACxB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAId,qBAAa,CAAC,uBAAuB,EACzD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,IACpC;aACJ,CAAC,GACL,CAAC;QACF,OAAO;YACH,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE;YAC/B,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,EAAE;YAC/C,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;YACnC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE;YAC3C,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe,IAAI,EAAE;YACrD,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe,IAAI,EAAE;YACzD,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,IAAI,EAAE;YACjD,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE;YAC3C,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,IAAI,EAAE;SACpD,CAAA;IACL,CAAC;aAEe,gBAAgB,CAAC,GAA0C;QACvE,IAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO,EAAE,CAAC;SACb;QACD,OAAO;YACH,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,WAAW,IAAI,SAAS;YAChE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,SAAS;YAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;SAC1C,CAAC;IACN;;IClFA,WAAY,4BAA4B;;QAEpC,yDAAyB,CAAA;IAC7B,CAAC,EAHWyB,oCAA4B,KAA5BA,oCAA4B,QAGvC;IAID,WAAY,qBAAqB;QAC7B,iDAAwB,CAAA;QACxB,+CAAsB,CAAA;QACtB,wCAAe,CAAA;QACf,qDAA4B,CAAA;QAC5B,4CAAmB,CAAA;QACnB,wDAA+B,CAAA;IACnC,CAAC,EAPWC,6BAAqB,KAArBA,6BAAqB,QAOhC;IAED;IACA;IACA;aACgB,+BAA+B,CAAC,EAAU;QACtD,IAAI,CAAC,EAAE,EAAE;YACL,OAAO,EAAE,CAAC;SACb;QACD,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,SAAO,EAAI,CAAC;IAC7E,CAAC;aAuBe,cAAc,CAAC,UAAsB;QACjD,OAAO;YACH,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE;YACzC,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;YAC/C,SAAS,EAAE,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,QAAC;gBAC7D,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK;aAClC,IAAC,CAAC,GAAG,EAAE;YACR,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC;YACnD,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,EAAE;YACnC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,UAAA,CAAC;gBAC7C,OAAO;oBACH,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;oBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;oBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;iBAC7B,CAAC;aACL,CAAC;SACL,CAAA;IACL,CAAC;aAEe,cAAc,CAAC,WAA6B;QACxD,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC;SAC5B;QACD,OAAO;YACH,WAAW,EAAE,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,GAAG,EAAE,EAAE,GAAG,CAAC,UAAA,CAAC;gBACvE,OAAO;oBACH,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI1B,qBAAa,CAAC,uBAAuB;oBACrD,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;iBACzB,CAAA;aACJ,CAAC;SACL,CAAA;IACL,CAAC;aAEe,YAAY,CAAC,WAAyB;QAClD,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC;SAC5B;QACD,OAAO;YACH,WAAW,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,UAAA,CAAC;gBAC9C,OAAO;oBACH,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS;oBACrB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;oBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;iBAChC,CAAA;aACJ,CAAC;SACL,CAAA;IACL;;;QCzHE,uBAAY,OAAY,EAAE,UAAkB,EAAE,OAAgB;YAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;4BACF;KAAA;;aCNe,eAAe,CAAC,WAAwB;QACpD,OAAO;YACH,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE;YACxB,YAAY,EAAE,WAAW,CAAC,YAAY,IAAID,oBAAY,CAAC,qBAAqB;YAC5E,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;YAC1C,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,IAAI,EAAE;YACtD,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,EAAE;YAChD,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;YACxC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;YAC5B,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;YACxC,aAAa,EAAE,WAAW,CAAC,aAAa,IAAI,EAAE;YAC9C,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;YAC1C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,IAAI,EAAE;SAC3D,CAAA;IACL,CAAC;IAGD,WAAY,mCAAmC;QAC3C,mFAA4C,CAAA;QAC5C,+DAAwB,CAAA;QACxB,kEAA2B,CAAA;IAC/B,CAAC,EAJW4B,2CAAmC,KAAnCA,2CAAmC,QAI9C;IAED,WAAY,iCAAiC;QACzC,gEAA2B,CAAA;QAC3B,6DAAwB,CAAA;IAC5B,CAAC,EAHWC,yCAAiC,KAAjCA,yCAAiC;;aCd7B,kBAAkB,CAAC,WAA2B;QAC1D,OAAO;YACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,IAAI/B,qBAAa,CAAC,sBAAsB;YAC1F,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,IAAI,CAAC;YAC7D,0BAA0B,EAAE,WAAW,CAAC,0BAA0B,IAAI,CAAC;YACvE,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,CAAC;YACvC,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,EAAE;SAC/C,CAAA;IACL;;ICtBA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;aAEe,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;aAEe,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IAAA,CAAC;aAEc,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,UAAU;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;SACzE;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK;QAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;SACzE;QACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB;;IC7NA;;;;;;;;;;aAUgB,kBAAkB,CAAC,cAAsB;QACrD,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC;SACvC;QACK,IAAA,KAAA,OAAoC,cAAc;aACnD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,IAAA,EAFR,aAAa,QAAA,EAAE,gBAAgB,QAEvB,CAAC;QAChB,IAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACtC,IAAM,WAAW,GAAG,UAAU,CAAC,IAAI,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC;QAC9D,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO;YACrC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW;SACpD,CAAC;IACN,CAAC;aAEe,gBAAgB,CAAC,QAAkB;QAC/C,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,IAAI,CAAC;SACf;QACD,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,IAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;QAC9C,OAAO,OAAO,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/C,CAAC;aAEe,uBAAuB,CAAC,GAA0C;QAC9E,IAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAM,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,KAAK,EAAE;YACX,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC9B;QACD,OAAO,OAAO,CAAC;IACnB;;aC5CgB,YAAY,CAAI,GAA2D;QACvF,IAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,SAAS,CAAC,EAAC,KAAK,EAAE,YAAY,IAAI,EAAE,EAAC,CAAC,CAAC;IACtD;;aCcgB,6CAA6C,CAAC,GAA0B;QACpF,OAAO;YACH,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,KAAK;SACtB,CAAA;IACL,CAAC;aAEe,0CAA0C,CAAC,GAA4C;QACnG,OAAO;YACH,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,OAAO;SACxB,CAAA;IACL,CAAC;aAEe,4CAA4C,CAAC,GAAyB;QAClF,OAAO;YACH,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,SAAS;SAC1B,CAAA;IACL;;aCrCgB,eAAe,CAAC,QAA2B;QACvD,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;YACvC,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,KAAK;SAC/C,CAAA;IACL;;;QC4CI,sBACY,eAAuC,EACY,kBAA+C;YADlG,oBAAe,GAAf,eAAe,CAAwB;YACY,uBAAkB,GAAlB,kBAAkB,CAA6B;SAC1G;QAEJ,qCAAc,GAAd,UAAe,GAId;YAJD,iBAmBC;YAdG,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAChDqB,aAAG,CAAC,UAAA,IAAI;gBACJ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC5B,OAAO,EAAiB,CAAC;iBAC5B;gBACD,OAAO,kBAAkB,CAAC;oBACtB,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;oBACrD,UAAU,EAAE,GAAG,CAAC,YAAY;oBAC5B,cAAc,EAAE,IAAI,CAAC,WAAW;oBAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;iBACjC,CAAC,CAAC;aACN,CAAC,CACL,CAAC;SACL;QAED,uCAAgB,GAAhB,UAAiB,GAMhB;YAND,iBAuBC;YAhBG,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAClDA,aAAG,CAAC,UAAA,IAAI;gBACJ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC7B,OAAO,EAAE,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,EAAE;oBAC3B,OAAO,kBAAkB,CAAC;wBACtB,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;wBACrD,UAAU,EAAE,GAAG,CAAC,MAAM;wBACtB,cAAc,EAAE,EAAE;wBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;qBACjC,CAAC,CAAC;iBACN,CAAC,CAAC;aACN,CAAC,CACL,CAAA;SACJ;QAED,6CAAsB,GAAtB,UAAuB,GAKtB;YACG,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CACxDA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,eAAe,CAAC,EAAE,CAAC,GAAA,CAAC,GAAG,EAAE,GAAA,CAAC,CACnF,CAAA;SACJ;QAED,kCAAW,GAAX,UAAY,GASC;YAET,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,iCAChC,GAAG,KACN,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAC5C,CAAC,IAAI,CAACA,aAAG,CAAC,UAAC,IAAS,IAAK,OAAA,IAA2B,GAAA,CAAC,CAAC,CAAC;SAC5D;QAED,oCAAa,GAAb,UAAc,GAAyE;YACnF,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAACW,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SACpE;QAED,wCAAiB,GAAjB,UAAkB,GAAwF;YACtG,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAACA,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SACxE;;QAGD,8BAAO,GAAP,UAAQ,GAAuB;YAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAACX,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,CAAA;SACrF;;QAGD,kCAAW,GAAX,UAAY,GAA2B;YACnC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAA,CAAC,CAAC,CAAA;SACjG;QAED,2CAAoB,GAApB,UAAqB,SAAiB,EAAE,SAAiB;YACrD,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC;gBAC9C,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;aAC7C,CAAC,CAAC,IAAI,CACHA,aAAG,CAAC,UAAA,IAAI,IAAI,QAAoB;gBAC5B,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,GAAG,EAAE,IAAI,CAAC,OAAO;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,aAAa,EAAE,IAAI,CAAC,aAAa;aACnC,IAAA,CAAC,CACN,CAAA;SACJ;QAED,uCAAgB,GAAhB,UAAiB,GAAuB;YACpC,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAClDA,aAAG,CAAC,UAAC,IAAmC,IAAK,OAAA,IAAI,CAAC,YAAY,GAAA,CAAC,CAClE,CAAC;SACL;;;;gBAtHJH,iBAAU;;;gBA5CP,sBAAsB;gDAiDjBe,aAAM,SAACC,qCAAgC;;;;QC1ChD;;;;;gBARCV,eAAQ,SAAC;oBACN,OAAO,EAAE;wBACL,sBAAsB;qBACzB;oBACD,SAAS,EAAE;wBACP,YAAY;qBACf;iBACJ;;;;QCqCG,qBACY,cAAqC,EACc,kBAA+C;YADlG,mBAAc,GAAd,cAAc,CAAuB;YACc,uBAAkB,GAAlB,kBAAkB,CAA6B;SAE7G;;QAGD,iCAAW,GAAX,UAAY,GAAsF;YAC9F,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;;gBAElB,4BAA4B,EAAE,GAAG,CAAC,4BAAgE;aACrG,CACJ,CAAC,IAAI,CAACH,aAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,IAAI,EAAE,GAAA,CAAC,CAAC,CAAC;SACxC;QAED,uCAAiB,GAAjB,UAAkB,kBAA0B;YACxC,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,CAAC,CAAC,IAAI,CACvFA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,GAAA,CAAC,CAC3B,CAAC;SACL;QAED,iCAAW,GAAX,UAAY,GAA2B;YACnC,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAC,CAAC,CAAC,IAAI,CACrEA,aAAG,CAAC,UAAA,GAAG,IAAI,OAAA,eAAe,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC,GAAA,CAAC,CAC7C,CAAC;SACL;QAED,kDAA4B,GAA5B,UAA6B,GAG5B;YACG,OAAO,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC;gBACpD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,4BAA4B,EAAE,GAAG,CAAC,4BAAgE;aACrG,CAAC,CAAC,IAAI,CAACA,aAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,GAAG,GAAG,CAAC,UAAU,GAAG,EAAE,GAAA,CAAC,CAAC,CAAC;SAClD;QAED,+CAAyB,GAAzB,UAA0B,GAA8B;YACpD,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAC,CAAC,CAAC,IAAI,CACrFA,aAAG,CAAC,UAAA,GAAG,IAAI,OAAA,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,EAAE,GAAA,CAAC,CACrC,CAAC;SACL;;;;;QAMD,oCAAc,GAAd,UAAe,GAAmC;YAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAClD;QAED,wCAAkB,GAAlB,UAAmB,UAAkB,EAAE,OAAe;YAClD,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;gBACtC,UAAU,EAAE,UAAU;gBACtB,cAAc,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC;gBAC/B,SAAS,EAAE,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAC;aAC/B,CAAC,CAAC,IAAI,CAACW,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SAC7B;QAED,+CAAyB,GAAzB,UAA0B,UAAkB,EAAE,sBAAgC;YAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;gBACtC,UAAU,EAAE,UAAU;gBACtB,cAAc,EAAE,EAAC,WAAW,EAAE,sBAAsB,EAAC;gBACrD,SAAS,EAAE,EAAC,KAAK,EAAE,CAAC,eAAe,CAAC,EAAC;aACxC,CAAC,CAAC,IAAI,CAACA,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SAC7B;QAED,iDAA2B,GAA3B,UAA4B,GAG3B;YAHD,iBAuBC;YAnBG,OAAO,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAC,CAAC,CAAC,IAAI,CACvFX,aAAG,CAAC,UAAA,GAAG;gBACH,IAAI,EAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,uBAAuB,CAAA,EAAE;oBAC/B,OAAO,EAAE,CAAC;iBACb;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,UAAC,wBAAwB,EAAE,UAAU;;;oBACxF,IAAM,YAAY,GAAG,CAAC,OAAA,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,0CAAE,YAAY,KAAI,EAAE,EAAE,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,kBAAkB,CAAC;wBAC5G,cAAc,EAAE,EAAE;wBAClB,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;wBACrD,UAAU,YAAA;wBACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACzB,CAAC,GAAA,CAAC,CAAC;oBACJ,uCACO,wBAAwB,aAC3B,GAAC,UAAU,IAAG,YAAY,OAC5B;iBACL,EAAE,EAA6C,CAAC,CAAA;aACpD,CAAC,CACL,CAAA;SACJ;;;;;;;;QASD,sCAAgB,GAAhB,UAAiB,GAIhB;YAJD,iBAqBC;YAhBG,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CACjDA,aAAG,CAAC,UAAA,IAAI;gBACJ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC7B,OAAO,EAAE,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,EAAE;oBAC3B,OAAO,kBAAkB,CAAC;wBACtB,cAAc,EAAE,EAAE;wBAClB,UAAU,EAAE,GAAG,CAAC,MAAM;wBACtB,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;wBACrD,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;qBACjC,CAAC,CAAC;iBACN,CAAC,CAAC;aACN,CAAC,CACL,CAAA;SACJ;;;;;;;;;;;QAYD,mCAAa,GAAb,UACI,GASC;YACD,OAAOc,OAAE,CAAC,2BAA2B,iCAC1B,GAAG,KACN,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,EACxC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,EACrD,YAAY,EAAE,GAAG,CAAC,YAAY,IAChC,CACL,CAAC;SACL;;;;;;;;;QAUD,0CAAoB,GAApB,UAAqB,GAIpB;YACG,OAAOA,OAAE,CAAC,kCAAkC,CAAC;gBACzC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;gBACrD,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;aACjC,CAAC,CAAC,CAAA;SACN;;;;;;;;;;QAWD,yCAAmB,GAAnB,UACI,GAAuC,EACvC,QAAqC,EACrC,YAAqB;YAHzB,iBAsBC;YAjBG,OAAOA,OAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,OAAO,EAAE,UAAU;;gBAClD,uCACO,OAAO,aACV,GAAC,UAAU,IAAG,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAC,cAAc,EAAE,eAAe;;oBACjE,uCACO,cAAc,aACjB,GAAC,eAAe,IAAG,2BAA2B,CAAC;wBAC3C,UAAU,YAAA;wBACV,eAAe,iBAAA;wBACf,QAAQ,UAAA;wBACR,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;wBACrD,YAAY,cAAA;qBACf,CAAC,OACJ;iBACL,EAAE,EAAyC,CAAC,OAC/C;aACL,EAAE,EAAgB,CAAC,CAAC,CAAC;SACzB;QAED,sCAAgB,GAAhB,UAAiB,GAAuB;YACpC,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CACjDd,aAAG,CAAC,UAAC,IAA8B,IAAK,OAAA,IAAI,CAAC,YAAY,GAAA,CAAC,CAC7D,CAAC;SACL;QAED,4CAAsB,GAAtB,UAAuB,GAStB;YACG,IAAM,MAAM,mCACL,GAAG,KACN,QAAQ,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GACvC,CAAA;YACD,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;aAChD;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAACW,eAAK,CAAC,IAAI,CAAC,CAAC,CAAA;SAC9E;QAED,wCAAkB,GAAlB,UAAmB,GAKlB;YACG,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,iCACtC,GAAG,KACN,aAAa,EAAE,IAAI,mBAAmB,CAAC,EAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC,EACpF,OAAO,EAAE,IAAI,gCAAgC,CAAC,GAAG,CAAC,OAAO,CAAC,EAC1D,QAAQ,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IACtC,CAAC,IAAI,CACHX,aAAG,CAAC,UAAC,IAAgC;gBACjC,IAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,GAAA,CAAC,CAAC;gBAC/E,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aACnG,CAAC,CACL,CAAC;SACL;QAED,mCAAa,GAAb,UAAc,GAGb;YACG,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,mBACjC,GAAG,EACR,CAAC,IAAI,CAACW,eAAK,CAAC,IAAI,CAAC,CAAC,CAAA;SACvB;QAED,uCAAiB,GAAjB,UAAkB,GAGjB;YACG,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,mBACrC,GAAG,EACR,CAAC,IAAI,CAACA,eAAK,CAAC,IAAI,CAAC,CAAC,CAAA;SACvB;QAED,sCAAgB,GAAhB,UAAiB,GAIhB;YACG,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CACjDX,aAAG,CAAC,UAAA,QAAQ;gBACR,IAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;oBACpE,OAAO;wBACH,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;wBACtB,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;wBACpC,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACvB,CAAA;iBACJ,CAAC,CAAC;gBACH,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC9F,CAAC,CACL,CAAA;SACJ;;;;;;;;;;;;;;;;QAiBD,uCAAiB,GAAjB,UAAkB,GAAgG;YAC9G,IAAM,SAAS,GAAG,YAAY,CAAC,EAAC,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAC,CAAC,CAAC;YACrF,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAOc,OAAE,EAAE,CAAC;aACf;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC;gBAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,WAAA;aACZ,CAAC,CAAC,IAAI,CAACH,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SAC7B;QAED,oCAAc,GAAd,UAAe,GAAuB;YAClC,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;gBAC1C,MAAM,EAAE,GAAG,CAAC,MAAM;aACrB,CAAC,CAAC,IAAI,CAACX,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAA,CAAC,CAAC,CAAA;SACrE;QAED,gCAAU,GAAV,UAAW,SAAiB,EAAE,QAAgB;YAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;gBACtC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;aAC3C,CAAC,CAAC,IAAI,CACHA,aAAG,CAAC,UAAC,IAA4B,IAAK,OAAA,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAA,CAAC,CACtE,CAAA;SACJ;QAED,2CAAqB,GAArB,UAAsB,GAAqD;YACvE,OAAO,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC;gBAC7C,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACzB,CAAC,CAAC,IAAI,CAACW,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SAC7B;QAED,iCAAW,GAAX,UAAY,GAAoC;YAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAACX,aAAG,CAAC,UAAC,IAA6B,IAAK,OAAA,IAAI,CAAC,SAAS,GAAA,CAAC,CAAC,CAAC;SAC5G;;;QAID,+CAAyB,GAAzB,UAA0B,GAA2B;YACjD,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAC,CAAC,CAAC,IAAI,CAACW,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SAC7G;QAED,uCAAiB,GAAjB,UAAkB,GAAiC;YAC/C,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAC,CAAC,EAAC,CAAC;iBACxG,IAAI,CAACX,aAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,EAAE,GAAA,CAAC,CAAC,CAAC;SACjC;;;;;;;;;;;;;;;;QAiBD,uCAAiB,GAAjB,UAAkB,GAA4F;YAC1G,IAAM,SAAS,GAAG,YAAY,CAAC,EAAC,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAC,CAAC,CAAC;YACrF,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAOc,OAAE,EAAE,CAAC;aACf;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBACzC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,WAAW,EAAE,gBAAgB,CAAC,EAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAC,CAAC;gBAC7D,SAAS,WAAA;aACZ,CAAC,CAAC,IAAI,CAACH,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SAC7B;QAED,uCAAiB,GAAjB,UAAkB,GAAmB;YACjC,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,IAAI,CAACA,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACrF;QAED,yCAAmB,GAAnB,UAAoB,GAA2B;YAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAC,CAAC,CAAC,IAAI,CAC7EX,aAAG,CAAC,UAAA,GAAG;gBACH,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,UAAA,QAAQ;oBACrC,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAA;iBACnC,CAAC,CAAA;aACL,CAAC,CACL,CAAA;SACJ;;;;gBA3YJH,iBAAU;;;gBA/BP,qBAAqB;gDAmChBe,aAAM,SAACC,qCAAgC;;;;QCtChD;;;;;gBARCV,eAAQ,SAAC;oBACN,OAAO,EAAE;wBACL,sBAAsB;qBACzB;oBACD,SAAS,EAAE;wBACPY,aAAW;qBACd;iBACJ;;;ICXD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|