@aibrains/shared-types 0.1.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.
Files changed (158) hide show
  1. package/README.md +170 -0
  2. package/dist/index.d.ts +48 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +74 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/mappers/edfi/calendar.mapper.d.ts +158 -0
  7. package/dist/mappers/edfi/calendar.mapper.d.ts.map +1 -0
  8. package/dist/mappers/edfi/calendar.mapper.js +235 -0
  9. package/dist/mappers/edfi/calendar.mapper.js.map +1 -0
  10. package/dist/mappers/edfi/credential.mapper.d.ts +50 -0
  11. package/dist/mappers/edfi/credential.mapper.d.ts.map +1 -0
  12. package/dist/mappers/edfi/credential.mapper.js +123 -0
  13. package/dist/mappers/edfi/credential.mapper.js.map +1 -0
  14. package/dist/mappers/edfi/index.d.ts +10 -0
  15. package/dist/mappers/edfi/index.d.ts.map +1 -0
  16. package/dist/mappers/edfi/index.js +26 -0
  17. package/dist/mappers/edfi/index.js.map +1 -0
  18. package/dist/mappers/edfi/staff.mapper.d.ts +96 -0
  19. package/dist/mappers/edfi/staff.mapper.d.ts.map +1 -0
  20. package/dist/mappers/edfi/staff.mapper.js +138 -0
  21. package/dist/mappers/edfi/staff.mapper.js.map +1 -0
  22. package/dist/mappers/index.d.ts +7 -0
  23. package/dist/mappers/index.d.ts.map +1 -0
  24. package/dist/mappers/index.js +23 -0
  25. package/dist/mappers/index.js.map +1 -0
  26. package/dist/schemas/academics/assignment.schema.d.ts +1463 -0
  27. package/dist/schemas/academics/assignment.schema.d.ts.map +1 -0
  28. package/dist/schemas/academics/assignment.schema.js +195 -0
  29. package/dist/schemas/academics/assignment.schema.js.map +1 -0
  30. package/dist/schemas/academics/attendance.schema.d.ts +762 -0
  31. package/dist/schemas/academics/attendance.schema.d.ts.map +1 -0
  32. package/dist/schemas/academics/attendance.schema.js +250 -0
  33. package/dist/schemas/academics/attendance.schema.js.map +1 -0
  34. package/dist/schemas/academics/classroom.schema.d.ts +742 -0
  35. package/dist/schemas/academics/classroom.schema.d.ts.map +1 -0
  36. package/dist/schemas/academics/classroom.schema.js +164 -0
  37. package/dist/schemas/academics/classroom.schema.js.map +1 -0
  38. package/dist/schemas/academics/course-section.schema.d.ts +388 -0
  39. package/dist/schemas/academics/course-section.schema.d.ts.map +1 -0
  40. package/dist/schemas/academics/course-section.schema.js +128 -0
  41. package/dist/schemas/academics/course-section.schema.js.map +1 -0
  42. package/dist/schemas/academics/course.schema.d.ts +778 -0
  43. package/dist/schemas/academics/course.schema.d.ts.map +1 -0
  44. package/dist/schemas/academics/course.schema.js +207 -0
  45. package/dist/schemas/academics/course.schema.js.map +1 -0
  46. package/dist/schemas/academics/grade.schema.d.ts +848 -0
  47. package/dist/schemas/academics/grade.schema.d.ts.map +1 -0
  48. package/dist/schemas/academics/grade.schema.js +251 -0
  49. package/dist/schemas/academics/grade.schema.js.map +1 -0
  50. package/dist/schemas/academics/index.d.ts +13 -0
  51. package/dist/schemas/academics/index.d.ts.map +1 -0
  52. package/dist/schemas/academics/index.js +29 -0
  53. package/dist/schemas/academics/index.js.map +1 -0
  54. package/dist/schemas/academics/student.schema.d.ts +2891 -0
  55. package/dist/schemas/academics/student.schema.d.ts.map +1 -0
  56. package/dist/schemas/academics/student.schema.js +249 -0
  57. package/dist/schemas/academics/student.schema.js.map +1 -0
  58. package/dist/schemas/common.d.ts +183 -0
  59. package/dist/schemas/common.d.ts.map +1 -0
  60. package/dist/schemas/common.js +126 -0
  61. package/dist/schemas/common.js.map +1 -0
  62. package/dist/schemas/enrollment/enrollment.schema.d.ts +2799 -0
  63. package/dist/schemas/enrollment/enrollment.schema.d.ts.map +1 -0
  64. package/dist/schemas/enrollment/enrollment.schema.js +435 -0
  65. package/dist/schemas/enrollment/enrollment.schema.js.map +1 -0
  66. package/dist/schemas/enrollment/index.d.ts +7 -0
  67. package/dist/schemas/enrollment/index.d.ts.map +1 -0
  68. package/dist/schemas/enrollment/index.js +23 -0
  69. package/dist/schemas/enrollment/index.js.map +1 -0
  70. package/dist/schemas/identity/academic-year.schema.d.ts +546 -0
  71. package/dist/schemas/identity/academic-year.schema.d.ts.map +1 -0
  72. package/dist/schemas/identity/academic-year.schema.js +137 -0
  73. package/dist/schemas/identity/academic-year.schema.js.map +1 -0
  74. package/dist/schemas/identity/auth.schema.d.ts +670 -0
  75. package/dist/schemas/identity/auth.schema.d.ts.map +1 -0
  76. package/dist/schemas/identity/auth.schema.js +126 -0
  77. package/dist/schemas/identity/auth.schema.js.map +1 -0
  78. package/dist/schemas/identity/bell-schedule.schema.d.ts +630 -0
  79. package/dist/schemas/identity/bell-schedule.schema.d.ts.map +1 -0
  80. package/dist/schemas/identity/bell-schedule.schema.js +143 -0
  81. package/dist/schemas/identity/bell-schedule.schema.js.map +1 -0
  82. package/dist/schemas/identity/calendar-date.schema.d.ts +830 -0
  83. package/dist/schemas/identity/calendar-date.schema.d.ts.map +1 -0
  84. package/dist/schemas/identity/calendar-date.schema.js +208 -0
  85. package/dist/schemas/identity/calendar-date.schema.js.map +1 -0
  86. package/dist/schemas/identity/credential.schema.d.ts +472 -0
  87. package/dist/schemas/identity/credential.schema.d.ts.map +1 -0
  88. package/dist/schemas/identity/credential.schema.js +200 -0
  89. package/dist/schemas/identity/credential.schema.js.map +1 -0
  90. package/dist/schemas/identity/department.schema.d.ts +567 -0
  91. package/dist/schemas/identity/department.schema.d.ts.map +1 -0
  92. package/dist/schemas/identity/department.schema.js +113 -0
  93. package/dist/schemas/identity/department.schema.js.map +1 -0
  94. package/dist/schemas/identity/index.d.ts +21 -0
  95. package/dist/schemas/identity/index.d.ts.map +1 -0
  96. package/dist/schemas/identity/index.js +39 -0
  97. package/dist/schemas/identity/index.js.map +1 -0
  98. package/dist/schemas/identity/leave.schema.d.ts +725 -0
  99. package/dist/schemas/identity/leave.schema.d.ts.map +1 -0
  100. package/dist/schemas/identity/leave.schema.js +204 -0
  101. package/dist/schemas/identity/leave.schema.js.map +1 -0
  102. package/dist/schemas/identity/role.schema.d.ts +356 -0
  103. package/dist/schemas/identity/role.schema.d.ts.map +1 -0
  104. package/dist/schemas/identity/role.schema.js +124 -0
  105. package/dist/schemas/identity/role.schema.js.map +1 -0
  106. package/dist/schemas/identity/school-year.schema.d.ts +303 -0
  107. package/dist/schemas/identity/school-year.schema.d.ts.map +1 -0
  108. package/dist/schemas/identity/school-year.schema.js +59 -0
  109. package/dist/schemas/identity/school-year.schema.js.map +1 -0
  110. package/dist/schemas/identity/school.schema.d.ts +844 -0
  111. package/dist/schemas/identity/school.schema.d.ts.map +1 -0
  112. package/dist/schemas/identity/school.schema.js +139 -0
  113. package/dist/schemas/identity/school.schema.js.map +1 -0
  114. package/dist/schemas/identity/security.schema.d.ts +422 -0
  115. package/dist/schemas/identity/security.schema.d.ts.map +1 -0
  116. package/dist/schemas/identity/security.schema.js +151 -0
  117. package/dist/schemas/identity/security.schema.js.map +1 -0
  118. package/dist/schemas/identity/session.schema.d.ts +193 -0
  119. package/dist/schemas/identity/session.schema.d.ts.map +1 -0
  120. package/dist/schemas/identity/session.schema.js +59 -0
  121. package/dist/schemas/identity/session.schema.js.map +1 -0
  122. package/dist/schemas/identity/staff.schema.d.ts +1037 -0
  123. package/dist/schemas/identity/staff.schema.d.ts.map +1 -0
  124. package/dist/schemas/identity/staff.schema.js +251 -0
  125. package/dist/schemas/identity/staff.schema.js.map +1 -0
  126. package/dist/schemas/identity/tenant.schema.d.ts +313 -0
  127. package/dist/schemas/identity/tenant.schema.d.ts.map +1 -0
  128. package/dist/schemas/identity/tenant.schema.js +81 -0
  129. package/dist/schemas/identity/tenant.schema.js.map +1 -0
  130. package/dist/schemas/identity/user.schema.d.ts +921 -0
  131. package/dist/schemas/identity/user.schema.d.ts.map +1 -0
  132. package/dist/schemas/identity/user.schema.js +201 -0
  133. package/dist/schemas/identity/user.schema.js.map +1 -0
  134. package/dist/schemas/index.d.ts +10 -0
  135. package/dist/schemas/index.d.ts.map +1 -0
  136. package/dist/schemas/index.js +26 -0
  137. package/dist/schemas/index.js.map +1 -0
  138. package/dist/validators/academic-year.d.ts +90 -0
  139. package/dist/validators/academic-year.d.ts.map +1 -0
  140. package/dist/validators/academic-year.js +190 -0
  141. package/dist/validators/academic-year.js.map +1 -0
  142. package/dist/validators/date-range.d.ts +142 -0
  143. package/dist/validators/date-range.d.ts.map +1 -0
  144. package/dist/validators/date-range.js +170 -0
  145. package/dist/validators/date-range.js.map +1 -0
  146. package/dist/validators/grade-level.d.ts +80 -0
  147. package/dist/validators/grade-level.d.ts.map +1 -0
  148. package/dist/validators/grade-level.js +157 -0
  149. package/dist/validators/grade-level.js.map +1 -0
  150. package/dist/validators/index.d.ts +10 -0
  151. package/dist/validators/index.d.ts.map +1 -0
  152. package/dist/validators/index.js +26 -0
  153. package/dist/validators/index.js.map +1 -0
  154. package/dist/validators/password.d.ts +60 -0
  155. package/dist/validators/password.d.ts.map +1 -0
  156. package/dist/validators/password.js +81 -0
  157. package/dist/validators/password.js.map +1 -0
  158. package/package.json +50 -0
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ * Course Section Schemas - Academics Service
4
+ *
5
+ * Zod schemas for course section (class instance) management DTOs.
6
+ * A course section is a specific offering of a course with a teacher,
7
+ * schedule, and enrollment cap for a given academic term.
8
+ *
9
+ * Ed-Fi Alignment:
10
+ * - Maps to Ed-Fi "Section" entity
11
+ * - sectionNumber -> Ed-Fi sectionIdentifier
12
+ * - primaryTeacherId -> Ed-Fi StaffSectionAssociation (primary)
13
+ * - maxEnrollment -> Ed-Fi availableCredits context
14
+ *
15
+ * @see https://api.ed-fi.org/v7.1/docs/swagger/index.html - Section
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.sectionRosterResponseSchema = exports.studentSectionResponseSchema = exports.enrollStudentInSectionSchema = exports.sectionFilterSchema = exports.sectionListResponseSchema = exports.sectionResponseSchema = exports.updateSectionSchema = exports.createSectionSchema = void 0;
19
+ const zod_1 = require("zod");
20
+ const common_1 = require("../common");
21
+ // ============================================
22
+ // Create Section Schema
23
+ // ============================================
24
+ exports.createSectionSchema = zod_1.z.object({
25
+ // Course reference (Ed-Fi: CourseOfferingReference)
26
+ courseId: zod_1.z.string().uuid(),
27
+ // School reference (Ed-Fi: SchoolReference / LocationSchoolReference)
28
+ schoolId: zod_1.z.string().uuid(),
29
+ // Academic session (Ed-Fi: SessionReference)
30
+ academicYearId: zod_1.z.string().uuid(),
31
+ termId: zod_1.z.string().uuid().optional(),
32
+ // Section identity (Ed-Fi: sectionIdentifier)
33
+ sectionNumber: zod_1.z.string()
34
+ .min(1, 'Section number is required')
35
+ .max(20, 'Section number must not exceed 20 characters'),
36
+ sectionName: zod_1.z.string().max(100).optional(),
37
+ // Teacher assignment (Ed-Fi: StaffSectionAssociation)
38
+ primaryTeacherId: zod_1.z.string().uuid(),
39
+ coTeacherIds: zod_1.z.array(zod_1.z.string().uuid()).max(5).optional(),
40
+ // Physical location
41
+ roomId: zod_1.z.string().uuid().optional(),
42
+ // Enrollment capacity
43
+ maxEnrollment: zod_1.z.number()
44
+ .int()
45
+ .min(1, 'Max enrollment must be at least 1')
46
+ .max(500, 'Max enrollment must not exceed 500'),
47
+ });
48
+ // ============================================
49
+ // Update Section Schema
50
+ // ============================================
51
+ exports.updateSectionSchema = exports.createSectionSchema.partial().omit({
52
+ courseId: true,
53
+ schoolId: true,
54
+ academicYearId: true,
55
+ });
56
+ // ============================================
57
+ // Section Response Schema
58
+ // ============================================
59
+ exports.sectionResponseSchema = zod_1.z.object({
60
+ sectionId: zod_1.z.string().uuid(),
61
+ tenantId: zod_1.z.string(),
62
+ // Course reference
63
+ courseId: zod_1.z.string().uuid(),
64
+ courseCode: zod_1.z.string().optional(),
65
+ courseName: zod_1.z.string().optional(),
66
+ // School reference
67
+ schoolId: zod_1.z.string().uuid(),
68
+ // Academic session
69
+ academicYearId: zod_1.z.string().uuid(),
70
+ termId: zod_1.z.string().uuid().optional(),
71
+ // Section identity
72
+ sectionNumber: zod_1.z.string(),
73
+ sectionName: zod_1.z.string().optional(),
74
+ // Teacher assignment
75
+ primaryTeacherId: zod_1.z.string().uuid(),
76
+ primaryTeacherName: zod_1.z.string().optional(),
77
+ coTeacherIds: zod_1.z.array(zod_1.z.string().uuid()).optional(),
78
+ // Physical location
79
+ roomId: zod_1.z.string().uuid().optional(),
80
+ roomNumber: zod_1.z.string().optional(),
81
+ // Enrollment
82
+ maxEnrollment: zod_1.z.number().int(),
83
+ currentEnrollment: zod_1.z.number().int().min(0),
84
+ // Status
85
+ isActive: zod_1.z.boolean(),
86
+ // Metadata
87
+ createdAt: common_1.isoDateSchema,
88
+ updatedAt: common_1.isoDateSchema,
89
+ createdBy: zod_1.z.string().optional(),
90
+ updatedBy: zod_1.z.string().optional(),
91
+ });
92
+ // ============================================
93
+ // Section List Response Schema
94
+ // ============================================
95
+ exports.sectionListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.sectionResponseSchema);
96
+ // ============================================
97
+ // Section Filter Schema
98
+ // ============================================
99
+ exports.sectionFilterSchema = zod_1.z.object({
100
+ schoolId: zod_1.z.string().uuid().optional(),
101
+ courseId: zod_1.z.string().uuid().optional(),
102
+ academicYearId: zod_1.z.string().uuid().optional(),
103
+ termId: zod_1.z.string().uuid().optional(),
104
+ teacherId: zod_1.z.string().uuid().optional(),
105
+ isActive: zod_1.z.boolean().optional(),
106
+ searchTerm: zod_1.z.string().max(100).optional(),
107
+ });
108
+ // ============================================
109
+ // Student-Section Enrollment Schemas
110
+ // ============================================
111
+ exports.enrollStudentInSectionSchema = zod_1.z.object({
112
+ studentId: zod_1.z.string().uuid(),
113
+ });
114
+ exports.studentSectionResponseSchema = zod_1.z.object({
115
+ studentId: zod_1.z.string().uuid(),
116
+ studentName: zod_1.z.string().optional(),
117
+ sectionId: zod_1.z.string().uuid(),
118
+ enrolledAt: common_1.isoDateSchema,
119
+ enrolledBy: zod_1.z.string().optional(),
120
+ });
121
+ exports.sectionRosterResponseSchema = zod_1.z.object({
122
+ sectionId: zod_1.z.string().uuid(),
123
+ courseName: zod_1.z.string().optional(),
124
+ sectionNumber: zod_1.z.string().optional(),
125
+ students: zod_1.z.array(exports.studentSectionResponseSchema),
126
+ totalCount: zod_1.z.number().int().min(0),
127
+ });
128
+ //# sourceMappingURL=course-section.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-section.schema.js","sourceRoot":"","sources":["../../../src/schemas/academics/course-section.schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6BAAwB;AACxB,sCAGmB;AAEnB,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAElC,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,oDAAoD;IACpD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAE3B,sEAAsE;IACtE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAE3B,6CAA6C;IAC7C,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACjC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAEpC,8CAA8C;IAC9C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;SACpC,GAAG,CAAC,EAAE,EAAE,8CAA8C,CAAC;IAC1D,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAE3C,sDAAsD;IACtD,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACnC,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE1D,oBAAoB;IACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAEpC,sBAAsB;IACtB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;SAC3C,GAAG,CAAC,GAAG,EAAE,oCAAoC,CAAC;CAClD,CAAC,CAAC;AAIH,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAElC,QAAA,mBAAmB,GAAG,2BAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;IACpE,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AAIH,+CAA+C;AAC/C,0BAA0B;AAC1B,+CAA+C;AAElC,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IAEpB,mBAAmB;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEjC,mBAAmB;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAE3B,mBAAmB;IACnB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACjC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAEpC,mBAAmB;IACnB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAElC,qBAAqB;IACrB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACnC,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEnD,oBAAoB;IACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEjC,aAAa;IACb,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC/B,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1C,SAAS;IACT,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IAErB,WAAW;IACX,SAAS,EAAE,sBAAa;IACxB,SAAS,EAAE,sBAAa;IACxB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,+CAA+C;AAC/C,+BAA+B;AAC/B,+CAA+C;AAElC,QAAA,yBAAyB,GAAG,IAAA,sCAA6B,EAAC,6BAAqB,CAAC,CAAC;AAG9F,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAElC,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACtC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH,+CAA+C;AAC/C,qCAAqC;AACrC,+CAA+C;AAElC,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;CAC7B,CAAC,CAAC;AAIU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,UAAU,EAAE,sBAAa;IACzB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,oCAA4B,CAAC;IAC/C,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC"}