@oneuptime/common 12.0.29 → 12.0.30

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.
Files changed (189) hide show
  1. package/Models/DatabaseModels/Index.ts +11 -0
  2. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
  3. package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
  4. package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
  5. package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
  6. package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
  7. package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
  8. package/Server/API/OnCallCalendarAPI.ts +2194 -0
  9. package/Server/EnvironmentConfig.ts +138 -0
  10. package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  13. package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
  14. package/Server/Services/Index.ts +12 -0
  15. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
  16. package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
  17. package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
  18. package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
  19. package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
  20. package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
  21. package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
  22. package/Server/Services/TeamMemberService.ts +489 -1
  23. package/Server/Services/TeamService.ts +50 -0
  24. package/Server/Services/UserNotificationSettingService.ts +44 -1
  25. package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
  26. package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
  27. package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
  28. package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
  29. package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
  30. package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
  31. package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
  32. package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
  33. package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
  34. package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
  35. package/Server/Utils/Response.ts +134 -0
  36. package/Server/Utils/StartServer.ts +10 -0
  37. package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
  38. package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
  39. package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
  40. package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
  41. package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
  42. package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
  43. package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
  44. package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
  45. package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
  46. package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
  47. package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
  48. package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
  49. package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
  50. package/Tests/Server/API/Helpers.ts +8 -0
  51. package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
  52. package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
  53. package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
  54. package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +369 -0
  55. package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
  56. package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
  57. package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
  58. package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
  59. package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
  60. package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
  61. package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
  62. package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
  63. package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
  64. package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
  65. package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
  66. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
  67. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
  68. package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
  69. package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
  70. package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
  71. package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
  72. package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
  73. package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
  74. package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
  75. package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
  76. package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
  77. package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
  78. package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
  79. package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
  80. package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
  81. package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
  82. package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
  83. package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
  84. package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
  85. package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
  86. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
  87. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  88. package/Types/Calendar/ICalendar.ts +442 -0
  89. package/Types/Email/EmailTemplateType.ts +2 -0
  90. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  91. package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
  92. package/Types/OnCallDutyPolicy/Layer.ts +190 -35
  93. package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
  94. package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
  95. package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
  96. package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
  97. package/build/dist/Models/DatabaseModels/Index.js +11 -0
  98. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  99. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
  100. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  101. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
  102. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
  103. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
  104. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
  105. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
  106. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
  107. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
  108. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
  109. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
  110. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
  111. package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
  112. package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
  113. package/build/dist/Server/EnvironmentConfig.js +102 -0
  114. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  115. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
  116. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
  117. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
  118. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
  119. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  120. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  121. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
  122. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
  123. package/build/dist/Server/Services/Index.js +12 -0
  124. package/build/dist/Server/Services/Index.js.map +1 -1
  125. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
  126. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  127. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
  128. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
  129. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
  130. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
  131. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
  132. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
  133. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
  134. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
  135. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
  136. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
  137. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
  138. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
  139. package/build/dist/Server/Services/TeamMemberService.js +396 -1
  140. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  141. package/build/dist/Server/Services/TeamService.js +43 -0
  142. package/build/dist/Server/Services/TeamService.js.map +1 -1
  143. package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
  144. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  145. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
  146. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
  147. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
  148. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
  149. package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
  150. package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
  151. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
  152. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
  153. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
  154. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
  155. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
  156. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
  157. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
  158. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
  159. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
  160. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
  161. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
  162. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
  163. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
  164. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
  165. package/build/dist/Server/Utils/Response.js +97 -0
  166. package/build/dist/Server/Utils/Response.js.map +1 -1
  167. package/build/dist/Server/Utils/StartServer.js +9 -1
  168. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  169. package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
  170. package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
  171. package/build/dist/Types/Calendar/ICalendar.js +290 -0
  172. package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
  173. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  174. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  175. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  176. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  177. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
  178. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
  179. package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
  180. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  181. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
  182. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
  183. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
  184. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
  185. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
  186. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
  187. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
  188. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
  189. package/package.json +1 -1
@@ -3,6 +3,25 @@ import EventInterval from "../Events/EventInterval";
3
3
  import Recurring from "../Events/Recurring";
4
4
  import Typeof from "../Typeof";
5
5
  import RestrictionTimes, { RestrictionType, } from "./RestrictionTimes";
6
+ /*
7
+ * Key stamped on every event getEvents emits, holding the epoch milliseconds
8
+ * of the TRUE (un-clamped) start of the rotation period the event belongs to.
9
+ *
10
+ * Two consecutive rotation periods held by the SAME user (a single-user layer,
11
+ * or any rotation where one person holds two turns in a row) are otherwise
12
+ * indistinguishable once expanded: the engine's 1 s seam makes them contiguous
13
+ * and every other property matches, so a consumer that groups contiguous
14
+ * same-user segments folds them into one block whose start and end depend on
15
+ * how far the expansion window reached — an unstable identity for anything
16
+ * that must be the same object across two different windows (the calendar
17
+ * feed's UID/DTSTART). The period start is window-independent, so grouping on
18
+ * it keeps one shift per rotation turn.
19
+ *
20
+ * Read it through ScheduleShiftUtil.getEventRotationPeriodStart, which
21
+ * tolerates events that never carried it (hand-built fixtures, JSON round
22
+ * trips) rather than reaching into the index signature here.
23
+ */
24
+ export const ROTATION_PERIOD_START_KEY = "rotationPeriodStartsAt";
6
25
  export default class LayerUtil {
7
26
  constructor() {
8
27
  /*
@@ -15,9 +34,17 @@ export default class LayerUtil {
15
34
  this.timezone = undefined;
16
35
  }
17
36
  getEvents(data, options) {
37
+ return this.getEventsWithMeta(data, options).events;
38
+ }
39
+ /*
40
+ * Same expansion as getEvents, plus a `truncated` flag telling the caller
41
+ * whether an iteration cap cut the expansion short. getEvents discards the
42
+ * flag so its existing callers are untouched.
43
+ */
44
+ getEventsWithMeta(data, options) {
18
45
  let events = [];
19
46
  if (!this.isDataValid(data)) {
20
- return [];
47
+ return { events: [], truncated: false };
21
48
  }
22
49
  data = this.sanitizeData(data);
23
50
  this.timezone = data.timezone;
@@ -32,8 +59,13 @@ export default class LayerUtil {
32
59
  let hasReachedTheEndOfTheCalendar = false;
33
60
  let handOffTime = data.handOffTime;
34
61
  if (!handOffTime) {
35
- return [];
62
+ return { events: [], truncated: false };
36
63
  }
64
+ const maxSimulationIterations = (options === null || options === void 0 ? void 0 : options.maxSimulationIterations) !== undefined &&
65
+ Number.isFinite(options.maxSimulationIterations) &&
66
+ options.maxSimulationIterations > 0
67
+ ? Math.floor(options.maxSimulationIterations)
68
+ : undefined;
37
69
  // Looop vars
38
70
  let currentUserIndex = 0;
39
71
  let currentEventStartTime = start;
@@ -47,7 +79,16 @@ export default class LayerUtil {
47
79
  users: data.users,
48
80
  currentEventStartTime,
49
81
  restrictionTimes: data.restrictionTimes,
82
+ maxSimulationIterations,
50
83
  });
84
+ /*
85
+ * The pre-window simulation gave up before reaching the window start, so
86
+ * the rotation position is unknown. Emit nothing for this layer rather
87
+ * than shifts attributed to the wrong person, and tell the caller.
88
+ */
89
+ if (currentUserResolution.truncated) {
90
+ return { events: [], truncated: true };
91
+ }
51
92
  currentUserIndex = currentUserResolution.currentUserIndex;
52
93
  /*
53
94
  * True (un-clamped) start of the first rotation period we are about to
@@ -74,9 +115,9 @@ export default class LayerUtil {
74
115
  });
75
116
  events = [
76
117
  ...events,
77
- ...this.getCalendarEventsFromStartAndEndDates(trimmedStartAndEndTimes, data.users, currentUserIndex),
118
+ ...this.getCalendarEventsFromStartAndEndDates(trimmedStartAndEndTimes, data.users, currentUserIndex, firstPeriodTrueStart),
78
119
  ];
79
- return events;
120
+ return { events, truncated: false };
80
121
  }
81
122
  /*
82
123
  * Bound the loop by the actual calendar window instead of a fixed count.
@@ -95,8 +136,9 @@ export default class LayerUtil {
95
136
  ? Math.floor(rawRotationCount)
96
137
  : 1;
97
138
  const windowUnits = this.getUnitsBetweenDates(start, end, rotation.intervalType);
98
- const maxLoopCount = Math.min(1000000, Math.max(100, Math.ceil(windowUnits / periodUnitsForBound) + 10));
139
+ const maxLoopCount = Math.min(maxSimulationIterations !== null && maxSimulationIterations !== void 0 ? maxSimulationIterations : 1000000, 1000000, Math.max(100, Math.ceil(windowUnits / periodUnitsForBound) + 10));
99
140
  let loopCount = 0;
141
+ let truncated = false;
100
142
  /*
101
143
  * The first loop iteration expands the rotation period that CONTAINS the
102
144
  * window start; its currentEventStartTime may be clamped to the window
@@ -107,6 +149,7 @@ export default class LayerUtil {
107
149
  while (!hasReachedTheEndOfTheCalendar) {
108
150
  loopCount++;
109
151
  if (loopCount > maxLoopCount) {
152
+ truncated = true;
110
153
  break;
111
154
  }
112
155
  currentEventEndTime = handOffTime;
@@ -141,10 +184,16 @@ export default class LayerUtil {
141
184
  * (audit H2). Each period contributes only a handful of segments, so the
142
185
  * spread of the small per-period array as push args is safe.
143
186
  */
144
- events.push(...this.getCalendarEventsFromStartAndEndDates(trimmedStartAndEndTimes, data.users, currentUserIndex));
187
+ events.push(...this.getCalendarEventsFromStartAndEndDates(trimmedStartAndEndTimes, data.users, currentUserIndex,
188
+ /*
189
+ * The first iteration expands the period that CONTAINS the window
190
+ * start, whose currentEventStartTime may be clamped to it; stamp the
191
+ * period's TRUE start so the identity does not move with the window.
192
+ */
193
+ isFirstPeriod ? firstPeriodTrueStart : currentEventStartTime));
145
194
  if ((options === null || options === void 0 ? void 0 : options.getNumberOfEvents) !== undefined) {
146
195
  if (events.length >= options.getNumberOfEvents) {
147
- return events;
196
+ return { events, truncated: false };
148
197
  }
149
198
  }
150
199
  // update the current event start time
@@ -203,7 +252,7 @@ export default class LayerUtil {
203
252
  events = events.slice(0, options.getNumberOfEvents);
204
253
  }
205
254
  }
206
- return events;
255
+ return { events, truncated };
207
256
  }
208
257
  sanitizeData(data) {
209
258
  if (!(data.restrictionTimes instanceof RestrictionTimes)) {
@@ -333,6 +382,7 @@ export default class LayerUtil {
333
382
  return this.addRotationUnits(anchor, numberOfPeriods * rotationInterval, intervalType);
334
383
  }
335
384
  getCurrentUserIndexBasedOnHandoffTime(data) {
385
+ var _a;
336
386
  /*
337
387
  * Returns both the on-call user index for the rotation period that CONTAINS
338
388
  * currentEventStartTime AND the true (un-clamped) start of that period.
@@ -348,6 +398,7 @@ export default class LayerUtil {
348
398
  return {
349
399
  currentUserIndex,
350
400
  currentPeriodStart: data.currentEventStartTime,
401
+ truncated: false,
351
402
  };
352
403
  }
353
404
  // if handoff is after current start, no rotation has occurred yet — idx unchanged.
@@ -359,6 +410,7 @@ export default class LayerUtil {
359
410
  return {
360
411
  currentUserIndex,
361
412
  currentPeriodStart: data.startDateTimeOfLayer,
413
+ truncated: false,
362
414
  };
363
415
  }
364
416
  /*
@@ -389,6 +441,7 @@ export default class LayerUtil {
389
441
  return {
390
442
  currentUserIndex: (((currentUserIndex + periodsElapsed) % length) + length) % length,
391
443
  currentPeriodStart: data.currentEventStartTime,
444
+ truncated: false,
392
445
  };
393
446
  }
394
447
  /*
@@ -420,10 +473,19 @@ export default class LayerUtil {
420
473
  ? Math.floor(rawSimCount)
421
474
  : 1;
422
475
  const simUnitsBetween = this.getUnitsBetweenDates(data.startDateTimeOfLayer, data.currentEventStartTime, data.rotation.intervalType);
423
- const maxIterations = Math.min(5000000, Math.max(10000, Math.ceil(simUnitsBetween / simPeriodUnits) + 10));
476
+ const maxIterations = Math.min((_a = data.maxSimulationIterations) !== null && _a !== void 0 ? _a : 5000000, 5000000, Math.max(10000, Math.ceil(simUnitsBetween / simPeriodUnits) + 10));
424
477
  let iterations = 0;
425
- while (OneUptimeDate.isBefore(simulatedTime, data.currentEventStartTime) &&
426
- iterations < maxIterations) {
478
+ let truncated = false;
479
+ while (OneUptimeDate.isBefore(simulatedTime, data.currentEventStartTime)) {
480
+ /*
481
+ * Cap hit before the target was reached: the rotation position for the
482
+ * window is unknown. Report it instead of silently returning the index
483
+ * at the cap (audit F9 explains why that is the wrong on-call person).
484
+ */
485
+ if (iterations >= maxIterations) {
486
+ truncated = true;
487
+ break;
488
+ }
427
489
  iterations++;
428
490
  const eventEnd = simulatedHandOff;
429
491
  // Stop once the rotation period would extend past the target.
@@ -451,7 +513,7 @@ export default class LayerUtil {
451
513
  * next period start each covered iteration and breaks once a period would
452
514
  * extend past the target, so it holds the current period's real start.
453
515
  */
454
- return { currentUserIndex, currentPeriodStart: simulatedTime };
516
+ return { currentUserIndex, currentPeriodStart: simulatedTime, truncated };
455
517
  }
456
518
  /*
457
519
  * Count the number of rotation boundaries that fall on-or-before `target`,
@@ -947,7 +1009,9 @@ export default class LayerUtil {
947
1009
  }
948
1010
  return currentIndex;
949
1011
  }
950
- getCalendarEventsFromStartAndEndDates(trimmedStartAndEndTimes, users, currentUserIndex) {
1012
+ getCalendarEventsFromStartAndEndDates(trimmedStartAndEndTimes, users, currentUserIndex,
1013
+ // True (un-clamped) start of the rotation period these segments came from.
1014
+ rotationPeriodStartsAt) {
951
1015
  var _a, _b;
952
1016
  const events = [];
953
1017
  const userId = ((_b = (_a = users[currentUserIndex]) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.toString()) || "";
@@ -959,13 +1023,29 @@ export default class LayerUtil {
959
1023
  start: trimmedStartAndEndTime.startTime,
960
1024
  end: trimmedStartAndEndTime.endTime,
961
1025
  };
1026
+ // See ROTATION_PERIOD_START_KEY.
1027
+ event[ROTATION_PERIOD_START_KEY] =
1028
+ rotationPeriodStartsAt.getTime();
962
1029
  events.push(event);
963
1030
  }
964
1031
  return events;
965
1032
  }
966
1033
  getMultiLayerEvents(data, options) {
1034
+ return this.getMultiLayerEventsWithMeta(data, options).events;
1035
+ }
1036
+ /*
1037
+ * Same priority merge as getMultiLayerEvents, plus a `truncated` flag that
1038
+ * is true when ANY layer's expansion hit an iteration cap (see
1039
+ * LayerExpansionOptions.maxSimulationIterations). getMultiLayerEvents
1040
+ * discards the flag so its existing callers are untouched.
1041
+ */
1042
+ getMultiLayerEventsWithMeta(data, options) {
967
1043
  const events = [];
968
1044
  let layerPriority = 1;
1045
+ let truncated = false;
1046
+ const layerOptions = (options === null || options === void 0 ? void 0 : options.maxSimulationIterations) !== undefined
1047
+ ? { maxSimulationIterations: options.maxSimulationIterations }
1048
+ : undefined;
969
1049
  for (const layer of data.layers) {
970
1050
  /*
971
1051
  * Do NOT forward getNumberOfEvents to the per-layer expansion. Capping
@@ -976,7 +1056,7 @@ export default class LayerUtil {
976
1056
  * is never generated, corrupting the merged "next" roster. The cap is
977
1057
  * applied only once, after the merge, below.
978
1058
  */
979
- const layerEvents = this.getEvents({
1059
+ const layerResult = this.getEventsWithMeta({
980
1060
  users: layer.users,
981
1061
  startDateTimeOfLayer: layer.startDateTimeOfLayer,
982
1062
  restrictionTimes: layer.restrictionTimes,
@@ -985,10 +1065,21 @@ export default class LayerUtil {
985
1065
  timezone: layer.timezone,
986
1066
  calendarStartDate: data.calendarStartDate,
987
1067
  calendarEndDate: data.calendarEndDate,
988
- });
989
- // add priority to each event
990
- for (const layerEvent of layerEvents) {
1068
+ }, layerOptions);
1069
+ truncated = truncated || layerResult.truncated;
1070
+ /*
1071
+ * Add priority (and, when the caller identified the layer, its id and
1072
+ * name) to each event. The keys are only added when present so callers
1073
+ * that never set them get exactly the event shape they always did.
1074
+ */
1075
+ for (const layerEvent of layerResult.events) {
991
1076
  const priorityEvent = Object.assign(Object.assign({}, layerEvent), { priority: layerPriority });
1077
+ if (layer.layerId !== undefined) {
1078
+ priorityEvent.layerId = layer.layerId;
1079
+ }
1080
+ if (layer.layerName !== undefined) {
1081
+ priorityEvent.layerName = layer.layerName;
1082
+ }
992
1083
  events.push(priorityEvent);
993
1084
  }
994
1085
  // increment layer priority
@@ -998,10 +1089,13 @@ export default class LayerUtil {
998
1089
  const nonOverlappingEvents = this.removeOverlappingEvents(events);
999
1090
  if ((options === null || options === void 0 ? void 0 : options.getNumberOfEvents) !== undefined) {
1000
1091
  if (nonOverlappingEvents.length > options.getNumberOfEvents) {
1001
- return nonOverlappingEvents.slice(0, options.getNumberOfEvents);
1092
+ return {
1093
+ events: nonOverlappingEvents.slice(0, options.getNumberOfEvents),
1094
+ truncated,
1095
+ };
1002
1096
  }
1003
1097
  }
1004
- return nonOverlappingEvents;
1098
+ return { events: nonOverlappingEvents, truncated };
1005
1099
  }
1006
1100
  removeOverlappingEvents(events) {
1007
1101
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.js","sourceRoot":"","sources":["../../../../Types/OnCallDutyPolicy/Layer.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,gBAAgB,EAAE,EACvB,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAgC5B,MAAM,CAAC,OAAO,OAAO,SAAS;IAA9B;QACE;;;;;;WAMG;QACK,aAAQ,GAAuB,SAAS,CAAC;IAssDnD,CAAC;IApsDQ,SAAS,CACd,IAAgB,EAChB,OAIa;QAEb,IAAI,MAAM,GAAyB,EAAE,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,IAAI,KAAK,GAAS,IAAI,CAAC,iBAAiB,CAAC;QACzC,MAAM,GAAG,GAAS,IAAI,CAAC,eAAe,CAAC;QAEvC,uHAAuH;QACvH,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5D,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACpC,CAAC;QAED,4BAA4B;QAE5B,MAAM,QAAQ,GAAc,IAAI,CAAC,QAAQ,CAAC;QAE1C,IAAI,6BAA6B,GAAY,KAAK,CAAC;QAEnD,IAAI,WAAW,GAAS,IAAI,CAAC,WAAW,CAAC;QAEzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,aAAa;QACb,IAAI,gBAAgB,GAAW,CAAC,CAAC;QACjC,IAAI,qBAAqB,GAAS,KAAK,CAAC;QAExC,8DAA8D;QAE9D,uDAAuD;QAEvD,MAAM,qBAAqB,GAGvB,IAAI,CAAC,qCAAqC,CAAC;YAC7C,QAAQ;YACR,WAAW;YACX,gBAAgB;YAChB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,qBAAqB;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;QACH,gBAAgB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC;QAE1D;;;;;;;WAOG;QACH,MAAM,oBAAoB,GAAS,qBAAqB,CAAC,kBAAkB,CAAC;QAE5E,4DAA4D;QAE5D,WAAW,GAAG,IAAI,CAAC,0CAA0C,CAAC;YAC5D,WAAW;YACX,qBAAqB;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,mBAAmB,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,0DAA0D;QAE1H,oJAAoJ;QAEpJ,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7C,MAAM,uBAAuB,GAC3B,IAAI,CAAC,2CAA2C,CAAC;gBAC/C,cAAc,EAAE,qBAAqB;gBACrC,YAAY,EAAE,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;YAEL,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,GAAG,IAAI,CAAC,qCAAqC,CAC3C,uBAAuB,EACvB,IAAI,CAAC,KAAK,EACV,gBAAgB,CACjB;aACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED;;;;;;;;;;;WAWG;QACH,MAAM,gBAAgB,GAAW,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACnE,MAAM,mBAAmB,GACvB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC9B,CAAC,CAAC,CAAC,CAAC;QACR,MAAM,WAAW,GAAW,IAAI,CAAC,oBAAoB,CACnD,KAAK,EACL,GAAG,EACH,QAAQ,CAAC,YAAY,CACtB,CAAC;QACF,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CACnC,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CACjE,CAAC;QACF,IAAI,SAAS,GAAW,CAAC,CAAC;QAE1B;;;;;WAKG;QACH,IAAI,aAAa,GAAY,IAAI,CAAC;QAElC,OAAO,CAAC,6BAA6B,EAAE,CAAC;YACtC,SAAS,EAAE,CAAC;YACZ,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;YACD,mBAAmB,GAAG,WAAW,CAAC;YAElC,0EAA0E;YAC1E,MAAM,iBAAiB,GAAS,WAAW,CAAC;YAE5C,2GAA2G;YAE3G,IAAI,aAAa,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBACrE,qBAAqB,GAAG,aAAa,CAAC,gBAAgB,CACpD,mBAAmB,EACnB,CAAC,CACF,CAAC;gBACF,WAAW,GAAG,IAAI,CAAC,0CAA0C,CAAC;oBAC5D,WAAW;oBACX,qBAAqB;oBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;gBAEH,SAAS;YACX,CAAC;YAED,2IAA2I;YAC3I,IAAI,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpD,mBAAmB,GAAG,GAAG,CAAC;gBAC1B,6BAA6B,GAAG,IAAI,CAAC;YACvC,CAAC;YAED,qJAAqJ;YAErJ,MAAM,uBAAuB,GAC3B,IAAI,CAAC,2CAA2C,CAAC;gBAC/C,cAAc,EAAE,qBAAqB;gBACrC,YAAY,EAAE,mBAAmB;gBACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;YAEL;;;;;;;eAOG;YACH,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,qCAAqC,CAC3C,uBAAuB,EACvB,IAAI,CAAC,KAAK,EACV,gBAAgB,CACjB,CACF,CAAC;YAEF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE,CAAC;gBAC7C,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC/C,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,sCAAsC;YAEtC,qBAAqB,GAAG,aAAa,CAAC,gBAAgB,CACpD,mBAAmB,EACnB,CAAC,CACF,CAAC;YAEF,0BAA0B;YAE1B,WAAW,GAAG,IAAI,CAAC,0CAA0C,CAAC;gBAC5D,WAAW;gBACX,qBAAqB;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH;;;;;eAKG;YACH,IAAI,sBAAsB,GAAY,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;YAEzE;;;;;;;;;;;;;eAaG;YACH,IACE,aAAa;gBACb,CAAC,sBAAsB;gBACvB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,eAAe,CAAC,IAAI,EAC7D,CAAC;gBACD,MAAM,YAAY,GAChB,IAAI,CAAC,2CAA2C,CAAC;oBAC/C,cAAc,EAAE,oBAAoB;oBACpC,YAAY,EAAE,iBAAiB;oBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC,CAAC,CAAC;gBACL,sBAAsB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CACxC,gBAAgB,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;YACJ,CAAC;YAED,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,gFAAgF;QAEhF,IAAI,EAAE,GAAW,CAAC,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YACd,EAAE,EAAE,CAAC;QACP,CAAC;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,IAAgB;QACnC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,YAAY,gBAAgB,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,YAAY,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAClD,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,WAAW,CAAC,IAAgB;QAClC,4EAA4E;QAC5E,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0HAA0H;QAC1H,IACE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,EACtE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4EAA4E;QAC5E,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,0CAA0C,CAAC,IAIlD;QACC,kHAAkH;QAElH,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,MAAM,mBAAmB,GAAW,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3E;;;;WAIG;QACH,MAAM,gBAAgB,GACpB,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;YACjC,CAAC,CAAC,CAAC,CAAC;QAER,MAAM,YAAY,GAAkB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAE/D;;;;;;;;;;;;;;;;;;;WAmBG;QACH,MAAM,YAAY,GAAW,IAAI,CAAC,oBAAoB,CACpD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,EAC1B,YAAY,CACb,CAAC;QAEF,IAAI,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;QAED;;;;;;;;;;WAUG;QACH,IAAI,WAAW,GAAS,IAAI,CAAC,kBAAkB,CAC7C,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,gBAAgB,EAChB,YAAY,CACb,CAAC;QAEF,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,OACE,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACnE,MAAM,GAAG,OAAO,EAChB,CAAC;YACD,OAAO,EAAE,CAAC;YACV;;;;eAIG;YACH,WAAW,GAAG,IAAI,CAAC,gBAAgB,CACjC,WAAW,EACX,gBAAgB,EAChB,YAAY,CACb,CAAC;YACF,MAAM,EAAE,CAAC;QACX,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CACxB,MAAY,EACZ,eAAuB,EACvB,gBAAwB,EACxB,YAA2B;QAE3B,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IACE,YAAY,KAAK,aAAa,CAAC,KAAK;YACpC,YAAY,KAAK,aAAa,CAAC,IAAI,EACnC,CAAC;YACD,IAAI,MAAM,GAAS,MAAM,CAAC;YAC1B,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,OAAO,MAAM,GAAG,eAAe,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;gBACpD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBACvE,MAAM,EAAE,CAAC;YACX,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAC1B,MAAM,EACN,eAAe,GAAG,gBAAgB,EAClC,YAAY,CACb,CAAC;IACJ,CAAC;IAEO,qCAAqC,CAAC,IAQ7C;QACC;;;;;;;;WAQG;QACH,IAAI,gBAAgB,GAAW,IAAI,CAAC,gBAAgB,CAAC;QAErD,oEAAoE;QACpE,IACE,aAAa,CAAC,QAAQ,CACpB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,oBAAoB,CAC1B,EACD,CAAC;YACD,OAAO;gBACL,gBAAgB;gBAChB,kBAAkB,EAAE,IAAI,CAAC,qBAAqB;aAC/C,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACxE;;;eAGG;YACH,OAAO;gBACL,gBAAgB;gBAChB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB;aAC9C,CAAC;QACJ,CAAC;QAED;;;;;;;;;WASG;QACH,IACE,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,eAAe,CAAC,IAAI;YAC7D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;YACD,MAAM,aAAa,GACjB,IAAI,CAAC,0CAA0C,CAAC;gBAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,qBAAqB,EAAE,IAAI,CAAC,oBAAoB;gBAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEL,MAAM,cAAc,GAAW,IAAI,CAAC,2BAA2B,CAC7D,aAAa,EACb,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,MAAM,MAAM,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACzC;;;;eAIG;YACH,OAAO;gBACL,gBAAgB,EACd,CAAC,CAAC,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM;gBACpE,kBAAkB,EAAE,IAAI,CAAC,qBAAqB;aAC/C,CAAC;QACJ,CAAC;QAED;;;;;;WAMG;QACH,IAAI,aAAa,GAAS,IAAI,CAAC,oBAAoB,CAAC;QACpD,IAAI,gBAAgB,GAClB,IAAI,CAAC,0CAA0C,CAAC;YAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,qBAAqB,EAAE,aAAa;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEL;;;;;;;;;;WAUG;QACH,MAAM,WAAW,GAAW,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACnE,MAAM,cAAc,GAClB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC;QACR,MAAM,eAAe,GAAW,IAAI,CAAC,oBAAoB,CACvD,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3B,CAAC;QACF,MAAM,aAAa,GAAW,IAAI,CAAC,GAAG,CACpC,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,CAClE,CAAC;QACF,IAAI,UAAU,GAAW,CAAC,CAAC;QAE3B,OACE,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACjE,UAAU,GAAG,aAAa,EAC1B,CAAC;YACD,UAAU,EAAE,CAAC;YAEb,MAAM,QAAQ,GAAS,gBAAgB,CAAC;YAExC,8DAA8D;YAC9D,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAChE,MAAM;YACR,CAAC;YAED,MAAM,OAAO,GACX,IAAI,CAAC,2CAA2C,CAAC;gBAC/C,cAAc,EAAE,aAAa;gBAC7B,YAAY,EAAE,QAAQ;gBACtB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;YAEL,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CACxC,gBAAgB,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;YACJ,CAAC;YAED,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5D,gBAAgB,GAAG,IAAI,CAAC,0CAA0C,CAAC;gBACjE,WAAW,EAAE,gBAAgB;gBAC7B,qBAAqB,EAAE,aAAa;gBACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC;QAED;;;;;WAKG;QACH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACK,2BAA2B,CACjC,aAAmB,EACnB,MAAY,EACZ,QAAmB;QAEnB,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,YAAY,GAAkB,QAAQ,CAAC,YAAY,CAAC;QAC1D,MAAM,QAAQ,GAAW,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE;;;;;;;;;;WAUG;QACH,IACE,YAAY,KAAK,aAAa,CAAC,KAAK;YACpC,YAAY,KAAK,aAAa,CAAC,IAAI,EACnC,CAAC;YACD,IAAI,OAAO,GAAW,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAS,aAAa,CAAC;YACnC,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,OAAO,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;gBACvE,OAAO,EAAE,CAAC;gBACV,qEAAqE;gBACrE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBACtE,MAAM,EAAE,CAAC;YACX,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED;;;WAGG;QACH,MAAM,YAAY,GAAW,IAAI,CAAC,oBAAoB,CACpD,aAAa,EACb,MAAM,EACN,YAAY,CACb,CAAC;QAEF,IAAI,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;QAC7D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;QAED;;;;WAIG;QACH,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,OACE,aAAa,CAAC,YAAY,CACxB,IAAI,CAAC,gBAAgB,CACnB,aAAa,EACb,OAAO,GAAG,WAAW,EACrB,YAAY,CACb,EACD,MAAM,CACP;YACD,MAAM,GAAG,MAAM,EACf,CAAC;YACD,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;QACX,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CACtB,IAAU,EACV,KAAa,EACb,YAA2B;QAE3B;;;WAGG;QACH,MAAM,EAAE,GAAuB,IAAI,CAAC,QAAQ,CAAC;QAC7C,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,KAAK,aAAa,CAAC,GAAG;gBACpB,OAAO,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvD,KAAK,aAAa,CAAC,KAAK;gBACtB,OAAO,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxD,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvD;gBACE,OAAO,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,IAAU,EACV,EAAQ,EACR,YAA2B;QAE3B,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,aAAa,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,KAAK,aAAa,CAAC,GAAG;gBACpB,OAAO,aAAa,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,aAAa,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,KAAK,aAAa,CAAC,KAAK;gBACtB,OAAO,aAAa,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1D,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,aAAa,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD;gBACE,OAAO,aAAa,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEM,2CAA2C,CAAC,IAIlD;QACC,MAAM,gBAAgB,GAAqB,IAAI,CAAC,gBAAgB,CAAC;QAEjE,IAAI,gBAAgB,CAAC,cAAc,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO;gBACL;oBACE,SAAS,EAAE,IAAI,CAAC,cAAc;oBAC9B,OAAO,EAAE,IAAI,CAAC,YAAY;iBAC3B;aACF,CAAC;QACJ,CAAC;QAED,IACE,gBAAgB,CAAC,cAAc,KAAK,eAAe,CAAC,KAAK;YACzD,gBAAgB,CAAC,mBAAmB,EACpC,CAAC;YACD;;;;;;;;eAQG;YACH,MAAM,mBAAmB,GAAoB;gBAC3C,SAAS,EAAE,aAAa,CAAC,kBAAkB,CACzC,gBAAgB,CAAC,mBAAmB,CAAC,SAAS,EAC9C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,CACd;gBACD,OAAO,EAAE,aAAa,CAAC,kBAAkB,CACvC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,EAC5C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,CACd;aACF,CAAC;YAEF,OAAO,IAAI,CAAC,2BAA2B,CAAC;gBACtC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,0BAA0B,EAAE,mBAAmB;gBAC/C,KAAK,EAAE;oBACL,YAAY,EAAE,aAAa,CAAC,GAAG;iBAChC;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,CAAC,cAAc,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,4BAA4B,CAAC,IAInC;QACC,MAAM,sBAAsB,GAC1B,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;QAE/C,0HAA0H;QAE1H,IAAI,uBAAuB,GAA2B,EAAE,CAAC;QAEzD,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO;gBACL;oBACE,SAAS,EAAE,IAAI,CAAC,cAAc;oBAC9B,OAAO,EAAE,IAAI,CAAC,YAAY;iBAC3B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,2BAA2B,GAC/B,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAE9C,KAAK,MAAM,0BAA0B,IAAI,2BAA2B,EAAE,CAAC;YACrE,MAAM,qCAAqC,GACzC,IAAI,CAAC,2BAA2B,CAAC;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,0BAA0B,EAAE,0BAA0B;gBACtD,KAAK,EAAE;oBACL,YAAY,EAAE,aAAa,CAAC,IAAI;iBACjC;aACF,CAAC,CAAC;YAEL,uBAAuB,GAAG;gBACxB,GAAG,uBAAuB;gBAC1B,GAAG,qCAAqC;aACzC,CAAC;QACJ,CAAC;QAED;;;;;;;;;WASG;QACH,OAAO,IAAI,CAAC,gCAAgC,CAAC,uBAAuB,CAAC,CAAC;IACxE,CAAC;IAEO,gCAAgC,CACtC,KAA6B;QAE7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAA2B,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CACpD,CAAC,CAAkB,EAAE,CAAkB,EAAE,EAAE;YACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAgC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpE,qEAAqE;YACrE,IAAI,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvE,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBACjC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gCAAgC,CAAC,IAIvC;QACC,MAAM,sBAAsB,GAC1B,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;QAE/C,MAAM,cAAc,GAAS,IAAI,CAAC,cAAc,CAAC;QAEjD,MAAM,oCAAoC,GAA2B,EAAE,CAAC;QAExE,KAAK,MAAM,iBAAiB,IAAI,sBAAsB,EAAE,CAAC;YACvD,wDAAwD;YAExD,IAAI,SAAS,GAAS,iBAAiB,CAAC,SAAS,CAAC;YAClD,IAAI,OAAO,GAAS,iBAAiB,CAAC,OAAO,CAAC;YAE9C,+DAA+D;YAE/D,SAAS,GAAG,aAAa,CAAC,sBAAsB,CAC9C,SAAS,EACT,cAAc,EACd,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EACpD,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,OAAO,GAAG,aAAa,CAAC,sBAAsB,CAC5C,OAAO,EACP,cAAc,EACd,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAClD,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,iEAAiE;YAEjE,2EAA2E;YAE3E,IAAI,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC9C;;;;mBAIG;gBAEH;;;;;;;;;;;;;mBAaG;gBACH,MAAM,WAAW,GAAS,aAAa,CAAC,iBAAiB,CACvD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,CACd,CAAC;gBAEF;;;;;mBAKG;gBACH,oCAAoC,CAAC,IAAI,CAAC;oBACxC,SAAS,EAAE,WAAW;oBACtB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBAEH;;;;;;;;;mBASG;gBACH,oCAAoC,CAAC,IAAI,CAAC;oBACxC,SAAS,EAAE,SAAS;oBACpB;;;;;;;uBAOG;oBACH,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN;;;;;;;mBAOG;gBACH,oCAAoC,CAAC,IAAI,CAAC;oBACxC,SAAS;oBACT,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAEM,2BAA2B,CAAC,IAOlC;QACC,MAAM,mBAAmB,GACvB,IAAI,CAAC,0BAA0B,CAAC;QAElC,uHAAuH;QAEvH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO;gBACL;oBACE,SAAS,EAAE,IAAI,CAAC,cAAc;oBAC9B,OAAO,EAAE,IAAI,CAAC,YAAY;iBAC3B;aACF,CAAC;QACJ,CAAC;QAED,EAAE;QAEF,IAAI,oBAAoB,GAAS,mBAAmB,CAAC,SAAS,CAAC;QAC/D,IAAI,kBAAkB,GAAS,mBAAmB,CAAC,OAAO,CAAC;QAE3D;;;;;;WAMG;QACH,IAAI,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACrE,MAAM,OAAO,GAA2B,EAAE,CAAC;YAE3C;;;;;;;;;;eAUG;YACH,IAAI,eAAe,GAAS,aAAa,CAAC,aAAa,CACrD,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC/D,CAAC,CAAC,EACF,IAAI,CAAC,QAAQ,CACd,CAAC;YACF,MAAM,gBAAgB,GAAS,IAAI,CAAC,YAAY,CAAC;YACjD,IAAI,aAAa,GAAW,CAAC,CAAC;YAC9B;;;;;;eAMG;YACH,MAAM,OAAO,GAAW,IAAI,CAAC,GAAG,CAC9B,IAAI,EACJ,IAAI,CAAC,GAAG,CACN,EAAE,EACF,aAAa,CAAC,sBAAsB,CAClC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,CAClB,GAAG,CAAC,CACN,CACF,CAAC;YAEF,OACE,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC;gBAC7D,aAAa,GAAG,OAAO,EACvB,CAAC;gBACD,aAAa,EAAE,CAAC;gBAEhB,MAAM,iBAAiB,GAAS,aAAa,CAAC,kBAAkB,CAC9D,oBAAoB,EACpB,eAAe,EACf,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,MAAM,eAAe,GAAS,aAAa,CAAC,WAAW,CACrD,iBAAiB,EACjB,IAAI,CAAC,QAAQ,CACd,CAAC;gBAEF,MAAM,YAAY,GAAS,aAAa,CAAC,aAAa,CACpD,eAAe,EACf,CAAC,EACD,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,MAAM,mBAAmB,GAAS,aAAa,CAAC,aAAa,CAC3D,YAAY,EACZ,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,MAAM,iBAAiB,GAAS,aAAa,CAAC,kBAAkB,CAC9D,kBAAkB,EAClB,YAAY,EACZ,IAAI,CAAC,QAAQ,CACd,CAAC;gBAEF,6DAA6D;gBAC7D,MAAM,eAAe,GAA2C,CAC9D,QAAc,EACd,MAAY,EACN,EAAE;oBACR,mCAAmC;oBACnC,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;wBACjD,OAAO,CAAC,YAAY;oBACtB,CAAC;oBACD,wCAAwC;oBACxC,MAAM,KAAK,GAAS,aAAa,CAAC,cAAc,CAC9C,QAAQ,EACR,IAAI,CAAC,cAAc,CACpB,CAAC;oBACF,MAAM,GAAG,GAAS,aAAa,CAAC,aAAa,CAC3C,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC,CAAC;gBAEF,eAAe,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;gBACpD,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;gBAExD,gBAAgB;gBAChB,eAAe,GAAG,YAAY,CAAC;YACjC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,gBAAgB,GAAS,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,cAAc,GAAS,IAAI,CAAC,YAAY,CAAC;QAE/C,MAAM,uBAAuB,GAA2B,EAAE,CAAC;QAE3D,IAAI,8BAA8B,GAAY,KAAK,CAAC;QAEpD;;;;;;WAMG;QACH,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CACnC,IAAI,EACJ,IAAI,CAAC,GAAG,CACN,EAAE,EACF,aAAa,CAAC,sBAAsB,CAClC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,CAClB,GAAG,EAAE,CACP,CACF,CAAC;QACF,IAAI,SAAS,GAAW,CAAC,CAAC;QAE1B,OAAO,CAAC,8BAA8B,EAAE,CAAC;YACvC,SAAS,EAAE,CAAC;YAEZ,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;YACD,8HAA8H;YAE9H,IAAI,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACjE,8BAA8B,GAAG,IAAI,CAAC;YACxC,CAAC;YAED,qFAAqF;YAErF,IAAI,aAAa,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpE,OAAO,uBAAuB,CAAC;YACjC,CAAC;YAED;;;;;;;;;;eAUG;YACH,IAAI,aAAa,CAAC,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACpE,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAChD,oBAAoB,EACpB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACzE,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAC9C,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACzE,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,SAAS;YACX,CAAC;YAED,uHAAuH;YACvH,IAAI,aAAa,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACpE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAC9C,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;YACJ,CAAC;YAED;;;;;;;eAOG;YAEH,kFAAkF;YAClF,IACE,aAAa,CAAC,WAAW,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBACjE,aAAa,CAAC,WAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAC7D,CAAC;gBACD,uBAAuB,CAAC,IAAI,CAAC;oBAC3B,SAAS,EAAE,gBAAgB;oBAC3B,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBACH,8BAA8B,GAAG,IAAI,CAAC;YACxC,CAAC;iBAAM;YACL;;;;;;;;;;eAUG;YACH,aAAa,CAAC,WAAW,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBACjE,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,EACzD,CAAC;gBACD,uBAAuB,CAAC,IAAI,CAAC;oBAC3B,SAAS,EAAE,gBAAgB;oBAC3B,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC;gBAEH,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAC/C,kBAAkB,EAClB,CAAC,CACF,CAAC;gBAEF,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAChD,oBAAoB,EACpB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACzE,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAC9C,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACzE,IAAI,CAAC,QAAQ,CACd,CAAC;YACJ,CAAC;iBAAM;YACL,+EAA+E;YAC/E,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBAC9D,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;gBAC1D,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAC3D,CAAC;gBACD,uBAAuB,CAAC,IAAI,CAAC;oBAC3B,SAAS,EAAE,oBAAoB;oBAC/B,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBACH,8BAA8B,GAAG,IAAI,CAAC;YACxC,CAAC;iBAAM;YACL,+EAA+E;YAC/E,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBAC9D,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAC7D,CAAC;gBACD,uBAAuB,CAAC,IAAI,CAAC;oBAC3B,SAAS,EAAE,oBAAoB;oBAC/B,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC;gBAEH,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAC/C,kBAAkB,EAClB,CAAC,CACF,CAAC;gBAEF,8CAA8C;gBAE9C,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAChD,oBAAoB,EACpB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACzE,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAC9C,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACzE,IAAI,CAAC,QAAQ,CACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,oBAAoB;IAEZ,kBAAkB,CACxB,YAAoB,EACpB,eAAuB,EACvB,WAAoB;QAEpB,gCAAgC;QAEhC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;QAE1C,wHAAwH;QACxH,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;YACpC,sEAAsE;YACtE,YAAY,GAAG,YAAY,GAAG,eAAe,CAAC,CAAC,6BAA6B;QAC9E,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,qCAAqC,CAC3C,uBAA+C,EAC/C,KAAuB,EACvB,gBAAwB;;QAExB,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,MAAM,MAAM,GAAW,CAAA,MAAA,MAAA,KAAK,CAAC,gBAAgB,CAAC,0CAAE,EAAE,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;QAErE,KAAK,MAAM,sBAAsB,IAAI,uBAAuB,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAkB;gBAC3B,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,MAAM,EAAE,8FAA8F;gBAC7G,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,sBAAsB,CAAC,SAAS;gBACvC,GAAG,EAAE,sBAAsB,CAAC,OAAO;aACpC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,mBAAmB,CACxB,IAAqB,EACrB,OAIa;QAEb,MAAM,MAAM,GAAkC,EAAE,CAAC;QACjD,IAAI,aAAa,GAAW,CAAC,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC;;;;;;;;eAQG;YACH,MAAM,WAAW,GAAyB,IAAI,CAAC,SAAS,CAAC;gBACvD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;gBAChD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC,CAAC;YAEH,6BAA6B;YAE7B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,aAAa,mCACd,UAAU,KACb,QAAQ,EAAE,aAAa,GACxB,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;YAED,2BAA2B;YAC3B,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,oCAAoC;QAEpC,MAAM,oBAAoB,GACxB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,oBAAoB,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5D,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEM,uBAAuB,CAC5B,MAAgC;QAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;QAEH;;;;;WAKG;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,6EAA6E;QAC7E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAA6B,EAAE,EAAE;YACvD,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH;;;;;;WAMG;QACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,CAAgB,EAAE,EAAE;YACjD,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAA6B,EAAE,CAAC;QAEjD;;;;;;WAMG;QACH,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,6EAA6E;QAC7E,MAAM,mBAAmB,GAAgB,IAAI,GAAG,EAAU,CAAC;QAE3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAW,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAEjD;;;;;eAKG;YACH,MAAM,cAAc,GAAW,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrD,IAAI,SAAS,GAAW,CAAC,CAAC;YAE1B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAW,kBAAkB,CAAC,CAAC,CAAE,CAAC;gBAE7C,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,IAAI,WAAW,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,cAAc,EAAE,CAAC;oBACxD,SAAS;gBACX,CAAC;gBAED,kBAAkB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBACtC,SAAS,EAAE,CAAC;YACd,CAAC;YAED,kBAAkB,CAAC,MAAM,GAAG,SAAS,CAAC;YAEtC;;;;;eAKG;YACH,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,MAAM,YAAY,GAAW,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAEnD;;;;;;;;;;;;;;;;;;;;mBAoBG;gBACH,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM;gBACR,CAAC;gBAED,MAAM,eAAe,GAAW,kBAAkB,CAAC,CAAC,CAAE,CAAC;gBAEvD,IAAI,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC7C,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GACd,WAAW,CAAC,eAAe,CAAE,CAAC;gBAEhC,MAAM,UAAU,GAAW,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAW,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAElD;;;;;;mBAMG;gBACH,IAAI,YAAY,IAAI,QAAQ,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBAED,IAAI,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACzC;;;uBAGG;oBACH,MAAM,iBAAiB,GAAS,UAAU,CAAC,GAAG,CAAC;oBAE/C;;;;;;;;;;;;uBAYG;oBACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;wBAC/C,uDAAuD;wBACvD,MAAM,YAAY,mCACb,UAAU,KACb,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,KAAK,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EACpC,GAAG,EAAE,iBAAiB,GACvB,CAAC;wBAEF,yCAAyC;wBACzC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;4BAC9D,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAC5C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;oBAED,UAAU,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;oBAE/C;;;uBAGG;oBACH,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;wBAC3C,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN;;;;;;uBAMG;oBACH,MAAM,YAAY,GAAW,QAAQ,GAAG,IAAI,CAAC;oBAE7C,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;wBAChC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED;;;;;;;eAOG;QACL,CAAC;QAED;;;;WAIG;QACH,MAAM,UAAU,GAA6B,WAAW,CAAC,MAAM,CAC7D,CAAC,MAA8B,EAAE,KAAa,EAAE,EAAE;YAChD,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,CAAgB,EAAE,EAAE;YACrD,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,mDAAmD;QAEnD,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,IAAI,EAAE,GAAW,CAAC,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,aAAa,mCACd,KAAK,KACR,EAAE,EAAE,EAAE,GACP,CAAC;YAEF,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,EAAE,EAAE,CAAC;QACP,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"Layer.js","sourceRoot":"","sources":["../../../../Types/OnCallDutyPolicy/Layer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import OneUptimeDate from "../Date";
2
+ export default class MaterializedShiftUtil {
3
+ static toJSON(shift) {
4
+ var _a;
5
+ const json = {
6
+ shiftKey: shift.shiftKey,
7
+ contentHash: shift.contentHash,
8
+ projectId: shift.projectId,
9
+ scheduleId: shift.scheduleId,
10
+ scheduleName: shift.scheduleName,
11
+ scheduleTimezone: (_a = shift.scheduleTimezone) !== null && _a !== void 0 ? _a : null,
12
+ userId: shift.userId,
13
+ userName: shift.userName,
14
+ start: shift.start.toISOString(),
15
+ end: shift.end.toISOString(),
16
+ coverageSeconds: shift.coverageSeconds,
17
+ policies: shift.policies.map((policy) => {
18
+ return Object.assign({}, policy);
19
+ }),
20
+ isPast: shift.isPast,
21
+ lastModifiedAt: shift.lastModifiedAt.toISOString(),
22
+ shiftConfigVersion: shift.shiftConfigVersion,
23
+ };
24
+ if (shift.projectName !== undefined) {
25
+ json.projectName = shift.projectName;
26
+ }
27
+ if (shift.layerId !== undefined) {
28
+ json.layerId = shift.layerId;
29
+ }
30
+ if (shift.layerName !== undefined) {
31
+ json.layerName = shift.layerName;
32
+ }
33
+ if (shift.override) {
34
+ const override = {
35
+ originalUserId: shift.override.originalUserId,
36
+ originalUserName: shift.override.originalUserName,
37
+ overrideStartsAt: shift.override.overrideStartsAt.toISOString(),
38
+ overrideEndsAt: shift.override.overrideEndsAt.toISOString(),
39
+ };
40
+ if (shift.override.onCallDutyPolicyId !== undefined) {
41
+ override.onCallDutyPolicyId = shift.override.onCallDutyPolicyId;
42
+ }
43
+ json.override = override;
44
+ }
45
+ if (shift.policyVariantOf) {
46
+ json.policyVariantOf = Object.assign({}, shift.policyVariantOf);
47
+ }
48
+ return json;
49
+ }
50
+ static fromJSON(json) {
51
+ const shift = {
52
+ shiftKey: json.shiftKey,
53
+ contentHash: json.contentHash,
54
+ projectId: json.projectId,
55
+ scheduleId: json.scheduleId,
56
+ scheduleName: json.scheduleName,
57
+ userId: json.userId,
58
+ userName: json.userName,
59
+ start: OneUptimeDate.fromString(json.start),
60
+ end: OneUptimeDate.fromString(json.end),
61
+ coverageSeconds: json.coverageSeconds,
62
+ policies: (json.policies || []).map((policy) => {
63
+ return Object.assign({}, policy);
64
+ }),
65
+ isPast: Boolean(json.isPast),
66
+ lastModifiedAt: OneUptimeDate.fromString(json.lastModifiedAt),
67
+ shiftConfigVersion: json.shiftConfigVersion,
68
+ };
69
+ if (json.projectName !== undefined) {
70
+ shift.projectName = json.projectName;
71
+ }
72
+ if (json.scheduleTimezone !== null && json.scheduleTimezone !== undefined) {
73
+ shift.scheduleTimezone = json.scheduleTimezone;
74
+ }
75
+ if (json.layerId !== undefined) {
76
+ shift.layerId = json.layerId;
77
+ }
78
+ if (json.layerName !== undefined) {
79
+ shift.layerName = json.layerName;
80
+ }
81
+ if (json.override) {
82
+ const override = {
83
+ originalUserId: json.override.originalUserId,
84
+ originalUserName: json.override.originalUserName,
85
+ overrideStartsAt: OneUptimeDate.fromString(json.override.overrideStartsAt),
86
+ overrideEndsAt: OneUptimeDate.fromString(json.override.overrideEndsAt),
87
+ };
88
+ if (json.override.onCallDutyPolicyId !== undefined) {
89
+ override.onCallDutyPolicyId = json.override.onCallDutyPolicyId;
90
+ }
91
+ shift.override = override;
92
+ }
93
+ if (json.policyVariantOf) {
94
+ shift.policyVariantOf = Object.assign({}, json.policyVariantOf);
95
+ }
96
+ return shift;
97
+ }
98
+ static toJSONArray(shifts) {
99
+ return shifts.map((shift) => {
100
+ return MaterializedShiftUtil.toJSON(shift);
101
+ });
102
+ }
103
+ static fromJSONArray(json) {
104
+ return json.map((item) => {
105
+ return MaterializedShiftUtil.fromJSON(item);
106
+ });
107
+ }
108
+ /*
109
+ * Deterministic order for rendering and hashing: by start, then schedule,
110
+ * then shift key. Returns a sorted copy; never mutates the input.
111
+ */
112
+ static sortByStart(shifts) {
113
+ return [...shifts].sort((a, b) => {
114
+ const byStart = a.start.getTime() - b.start.getTime();
115
+ if (byStart !== 0) {
116
+ return byStart;
117
+ }
118
+ if (a.scheduleId !== b.scheduleId) {
119
+ return a.scheduleId < b.scheduleId ? -1 : 1;
120
+ }
121
+ if (a.shiftKey === b.shiftKey) {
122
+ return 0;
123
+ }
124
+ return a.shiftKey < b.shiftKey ? -1 : 1;
125
+ });
126
+ }
127
+ // `${scheduleId}:${startEpochSeconds}` (+ `:${policyId}` for variants).
128
+ static buildShiftKey(data) {
129
+ const epochSeconds = Math.floor(data.start.getTime() / 1000);
130
+ const base = `${data.scheduleId}:${epochSeconds}`;
131
+ return data.policyId ? `${base}:${data.policyId}` : base;
132
+ }
133
+ }
134
+ //# sourceMappingURL=MaterializedShift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterializedShift.js","sourceRoot":"","sources":["../../../../Types/OnCallDutyPolicy/MaterializedShift.ts"],"names":[],"mappings":"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"}