@metriport/fhir-sdk 0.30.0-alpha.1
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/LICENSE +21 -0
- package/README.md +564 -0
- package/dist/__tests__/careplan.test.d.ts +2 -0
- package/dist/__tests__/careplan.test.d.ts.map +1 -0
- package/dist/__tests__/careplan.test.js +544 -0
- package/dist/__tests__/careplan.test.js.map +1 -0
- package/dist/__tests__/clinical-dates.test.d.ts +2 -0
- package/dist/__tests__/clinical-dates.test.d.ts.map +1 -0
- package/dist/__tests__/clinical-dates.test.js +341 -0
- package/dist/__tests__/clinical-dates.test.js.map +1 -0
- package/dist/__tests__/coding-utilities.test.d.ts +2 -0
- package/dist/__tests__/coding-utilities.test.d.ts.map +1 -0
- package/dist/__tests__/coding-utilities.test.js +482 -0
- package/dist/__tests__/coding-utilities.test.js.map +1 -0
- package/dist/__tests__/date-range-performance.test.d.ts +2 -0
- package/dist/__tests__/date-range-performance.test.d.ts.map +1 -0
- package/dist/__tests__/date-range-performance.test.js +218 -0
- package/dist/__tests__/date-range-performance.test.js.map +1 -0
- package/dist/__tests__/date-range-search.test.d.ts +2 -0
- package/dist/__tests__/date-range-search.test.d.ts.map +1 -0
- package/dist/__tests__/date-range-search.test.js +215 -0
- package/dist/__tests__/date-range-search.test.js.map +1 -0
- package/dist/__tests__/env-setup.d.ts +2 -0
- package/dist/__tests__/env-setup.d.ts.map +1 -0
- package/dist/__tests__/env-setup.js +37 -0
- package/dist/__tests__/env-setup.js.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts +2 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.js +19 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk.test.d.ts +2 -0
- package/dist/__tests__/fhir-bundle-sdk.test.d.ts.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk.test.js +953 -0
- package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -0
- package/dist/__tests__/fixtures/fhir-bundles.d.ts +31 -0
- package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -0
- package/dist/__tests__/fixtures/fhir-bundles.js +487 -0
- package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -0
- package/dist/__tests__/phase1-verification.test.d.ts +2 -0
- package/dist/__tests__/phase1-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase1-verification.test.js +141 -0
- package/dist/__tests__/phase1-verification.test.js.map +1 -0
- package/dist/__tests__/phase2-verification.test.d.ts +2 -0
- package/dist/__tests__/phase2-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase2-verification.test.js +234 -0
- package/dist/__tests__/phase2-verification.test.js.map +1 -0
- package/dist/__tests__/phase3-verification.test.d.ts +2 -0
- package/dist/__tests__/phase3-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase3-verification.test.js +121 -0
- package/dist/__tests__/phase3-verification.test.js.map +1 -0
- package/dist/__tests__/phase4-verification.test.d.ts +2 -0
- package/dist/__tests__/phase4-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase4-verification.test.js +168 -0
- package/dist/__tests__/phase4-verification.test.js.map +1 -0
- package/dist/__tests__/phase5-verification.test.d.ts +2 -0
- package/dist/__tests__/phase5-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase5-verification.test.js +397 -0
- package/dist/__tests__/phase5-verification.test.js.map +1 -0
- package/dist/__tests__/reverse-references.test.d.ts +2 -0
- package/dist/__tests__/reverse-references.test.d.ts.map +1 -0
- package/dist/__tests__/reverse-references.test.js +294 -0
- package/dist/__tests__/reverse-references.test.js.map +1 -0
- package/dist/__tests__/type-guards.test.d.ts +2 -0
- package/dist/__tests__/type-guards.test.d.ts.map +1 -0
- package/dist/__tests__/type-guards.test.js +163 -0
- package/dist/__tests__/type-guards.test.js.map +1 -0
- package/dist/clinical-dates.d.ts +26 -0
- package/dist/clinical-dates.d.ts.map +1 -0
- package/dist/clinical-dates.js +571 -0
- package/dist/clinical-dates.js.map +1 -0
- package/dist/fhir-bundle-sdk.d.ts +233 -0
- package/dist/fhir-bundle-sdk.d.ts.map +1 -0
- package/dist/fhir-bundle-sdk.js +545 -0
- package/dist/fhir-bundle-sdk.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/bundle-operations.d.ts +14 -0
- package/dist/internal/bundle-operations.d.ts.map +1 -0
- package/dist/internal/bundle-operations.js +55 -0
- package/dist/internal/bundle-operations.js.map +1 -0
- package/dist/internal/coding-systems.d.ts +48 -0
- package/dist/internal/coding-systems.d.ts.map +1 -0
- package/dist/internal/coding-systems.js +55 -0
- package/dist/internal/coding-systems.js.map +1 -0
- package/dist/internal/coding-utilities.d.ts +27 -0
- package/dist/internal/coding-utilities.d.ts.map +1 -0
- package/dist/internal/coding-utilities.js +297 -0
- package/dist/internal/coding-utilities.js.map +1 -0
- package/dist/internal/date-extraction.d.ts +12 -0
- package/dist/internal/date-extraction.d.ts.map +1 -0
- package/dist/internal/date-extraction.js +629 -0
- package/dist/internal/date-extraction.js.map +1 -0
- package/dist/internal/graph-traversal.d.ts +13 -0
- package/dist/internal/graph-traversal.d.ts.map +1 -0
- package/dist/internal/graph-traversal.js +89 -0
- package/dist/internal/graph-traversal.js.map +1 -0
- package/dist/internal/indexing.d.ts +17 -0
- package/dist/internal/indexing.d.ts.map +1 -0
- package/dist/internal/indexing.js +129 -0
- package/dist/internal/indexing.js.map +1 -0
- package/dist/internal/llm-context.d.ts +40 -0
- package/dist/internal/llm-context.d.ts.map +1 -0
- package/dist/internal/llm-context.js +214 -0
- package/dist/internal/llm-context.js.map +1 -0
- package/dist/internal/reference-resolution.d.ts +29 -0
- package/dist/internal/reference-resolution.d.ts.map +1 -0
- package/dist/internal/reference-resolution.js +338 -0
- package/dist/internal/reference-resolution.js.map +1 -0
- package/dist/internal/reference-utils.d.ts +26 -0
- package/dist/internal/reference-utils.d.ts.map +1 -0
- package/dist/internal/reference-utils.js +89 -0
- package/dist/internal/reference-utils.js.map +1 -0
- package/dist/internal/transparent-proxy.d.ts +12 -0
- package/dist/internal/transparent-proxy.d.ts.map +1 -0
- package/dist/internal/transparent-proxy.js +81 -0
- package/dist/internal/transparent-proxy.js.map +1 -0
- package/dist/internal/validation.d.ts +16 -0
- package/dist/internal/validation.d.ts.map +1 -0
- package/dist/internal/validation.js +45 -0
- package/dist/internal/validation.js.map +1 -0
- package/dist/type-guards.d.ts +212 -0
- package/dist/type-guards.d.ts.map +1 -0
- package/dist/type-guards.js +375 -0
- package/dist/type-guards.js.map +1 -0
- package/dist/types/coding-fields.d.ts +311 -0
- package/dist/types/coding-fields.d.ts.map +1 -0
- package/dist/types/coding-fields.js +3 -0
- package/dist/types/coding-fields.js.map +1 -0
- package/dist/types/sdk-types.d.ts +107 -0
- package/dist/types/sdk-types.d.ts.map +1 -0
- package/dist/types/sdk-types.js +17 -0
- package/dist/types/sdk-types.js.map +1 -0
- package/dist/types/smart-resources.d.ts +470 -0
- package/dist/types/smart-resources.d.ts.map +1 -0
- package/dist/types/smart-resources.js +249 -0
- package/dist/types/smart-resources.js.map +1 -0
- package/dist/utils/interval-tree/index.d.ts +87 -0
- package/dist/utils/interval-tree/index.d.ts.map +1 -0
- package/dist/utils/interval-tree/index.js +774 -0
- package/dist/utils/interval-tree/index.js.map +1 -0
- package/dist/utils/interval-tree/shallowequal/arrays.d.ts +3 -0
- package/dist/utils/interval-tree/shallowequal/arrays.d.ts.map +1 -0
- package/dist/utils/interval-tree/shallowequal/arrays.js +25 -0
- package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -0
- package/dist/utils/interval-tree/shallowequal/index.d.ts +6 -0
- package/dist/utils/interval-tree/shallowequal/index.d.ts.map +1 -0
- package/dist/utils/interval-tree/shallowequal/index.js +28 -0
- package/dist/utils/interval-tree/shallowequal/index.js.map +1 -0
- package/dist/utils/interval-tree/shallowequal/objects.d.ts +3 -0
- package/dist/utils/interval-tree/shallowequal/objects.d.ts.map +1 -0
- package/dist/utils/interval-tree/shallowequal/objects.js +28 -0
- package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
import { Resource, Patient, Observation, Encounter, Practitioner, PractitionerRole, Organization, CareTeam, RelatedPerson, DiagnosticReport, Group, Device, Location, AllergyIntolerance, Condition, Composition, Coverage, DocumentReference, FamilyMemberHistory, Immunization, Medication, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, Procedure, RiskAssessment, ServiceRequest, CarePlan, Appointment, CommunicationRequest, DeviceRequest, NutritionOrder, Task, VisionPrescription, RequestGroup, HealthcareService, Substance, Coding, CodeableConcept } from "@medplum/fhirtypes";
|
|
2
|
+
import type { SmartCondition, SmartProcedure, SmartPatient, SmartDevice, SmartLocation, SmartEncounter, SmartPractitioner, SmartOrganization, SmartCareTeam, SmartObservation, SmartComposition, SmartDocumentReference, SmartMedication, SmartMedicationRequest, SmartCarePlan, SmartGoal, ToSmart } from "./coding-fields";
|
|
3
|
+
/**
|
|
4
|
+
* Options for reverse reference lookup
|
|
5
|
+
*/
|
|
6
|
+
export interface ReverseReferenceOptions {
|
|
7
|
+
/** Filter by source resource type */
|
|
8
|
+
resourceType?: string;
|
|
9
|
+
/** Filter by specific reference field */
|
|
10
|
+
referenceField?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Smart Coding type with enhanced methods for checking coding systems
|
|
14
|
+
*/
|
|
15
|
+
export interface SmartCoding extends Coding {
|
|
16
|
+
/** Check if this coding belongs to the LOINC system */
|
|
17
|
+
isLoinc(): boolean;
|
|
18
|
+
/** Check if this coding belongs to the ICD-10 system */
|
|
19
|
+
isIcd10(): boolean;
|
|
20
|
+
/** Check if this coding belongs to the SNOMED system */
|
|
21
|
+
isSnomed(): boolean;
|
|
22
|
+
/** Check if this coding belongs to the RxNorm system */
|
|
23
|
+
isRxNorm(): boolean;
|
|
24
|
+
/** Check if this coding belongs to the NDC system */
|
|
25
|
+
isNdc(): boolean;
|
|
26
|
+
/** Check if this coding's code matches a specific code value */
|
|
27
|
+
matchesCode(code: string): boolean;
|
|
28
|
+
/** Check if this coding's code matches any of the provided code values */
|
|
29
|
+
matchesCodes(codes: string[]): boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Smart CodeableConcept type with enhanced methods for working with coding systems
|
|
33
|
+
*/
|
|
34
|
+
export interface SmartCodeableConcept extends Omit<CodeableConcept, "coding"> {
|
|
35
|
+
/** Array of smart codings */
|
|
36
|
+
coding?: SmartCoding[];
|
|
37
|
+
/** Get the first LOINC coding */
|
|
38
|
+
getLoinc(): SmartCoding | undefined;
|
|
39
|
+
/** Get all LOINC codings */
|
|
40
|
+
getLoincCodings(): SmartCoding[];
|
|
41
|
+
/** Get the first LOINC code value */
|
|
42
|
+
getLoincCode(): string | undefined;
|
|
43
|
+
/** Get all LOINC code values */
|
|
44
|
+
getLoincCodes(): string[];
|
|
45
|
+
/** Check if this CodeableConcept has any LOINC coding */
|
|
46
|
+
hasLoinc(): boolean;
|
|
47
|
+
/** Check if this CodeableConcept has a specific LOINC code */
|
|
48
|
+
hasLoincCode(code: string): boolean;
|
|
49
|
+
/** Check if this CodeableConcept has any of the provided LOINC codes */
|
|
50
|
+
hasSomeLoinc(codes: string[]): boolean;
|
|
51
|
+
/** Find a LOINC coding matching a predicate */
|
|
52
|
+
findLoincCoding(predicate: (code: string) => boolean): SmartCoding | undefined;
|
|
53
|
+
/** Get the first ICD-10 coding */
|
|
54
|
+
getIcd10(): SmartCoding | undefined;
|
|
55
|
+
/** Get all ICD-10 codings */
|
|
56
|
+
getIcd10Codings(): SmartCoding[];
|
|
57
|
+
/** Get the first ICD-10 code value */
|
|
58
|
+
getIcd10Code(): string | undefined;
|
|
59
|
+
/** Get all ICD-10 code values */
|
|
60
|
+
getIcd10Codes(): string[];
|
|
61
|
+
/** Check if this CodeableConcept has any ICD-10 coding */
|
|
62
|
+
hasIcd10(): boolean;
|
|
63
|
+
/** Check if this CodeableConcept has a specific ICD-10 code */
|
|
64
|
+
hasIcd10Code(code: string): boolean;
|
|
65
|
+
/** Check if this CodeableConcept has any of the provided ICD-10 codes */
|
|
66
|
+
hasSomeIcd10(codes: string[]): boolean;
|
|
67
|
+
/** Find an ICD-10 coding matching a predicate */
|
|
68
|
+
findIcd10Coding(predicate: (code: string) => boolean): SmartCoding | undefined;
|
|
69
|
+
/** Get the first SNOMED coding */
|
|
70
|
+
getSnomed(): SmartCoding | undefined;
|
|
71
|
+
/** Get all SNOMED codings */
|
|
72
|
+
getSnomedCodings(): SmartCoding[];
|
|
73
|
+
/** Get the first SNOMED code value */
|
|
74
|
+
getSnomedCode(): string | undefined;
|
|
75
|
+
/** Get all SNOMED code values */
|
|
76
|
+
getSnomedCodes(): string[];
|
|
77
|
+
/** Check if this CodeableConcept has any SNOMED coding */
|
|
78
|
+
hasSnomed(): boolean;
|
|
79
|
+
/** Check if this CodeableConcept has a specific SNOMED code */
|
|
80
|
+
hasSnomedCode(code: string): boolean;
|
|
81
|
+
/** Check if this CodeableConcept has any of the provided SNOMED codes */
|
|
82
|
+
hasSomeSnomed(codes: string[]): boolean;
|
|
83
|
+
/** Find a SNOMED coding matching a predicate */
|
|
84
|
+
findSnomedCoding(predicate: (code: string) => boolean): SmartCoding | undefined;
|
|
85
|
+
/** Get the first RxNorm coding */
|
|
86
|
+
getRxNorm(): SmartCoding | undefined;
|
|
87
|
+
/** Get all RxNorm codings */
|
|
88
|
+
getRxNormCodings(): SmartCoding[];
|
|
89
|
+
/** Get the first RxNorm code value */
|
|
90
|
+
getRxNormCode(): string | undefined;
|
|
91
|
+
/** Get all RxNorm code values */
|
|
92
|
+
getRxNormCodes(): string[];
|
|
93
|
+
/** Check if this CodeableConcept has any RxNorm coding */
|
|
94
|
+
hasRxNorm(): boolean;
|
|
95
|
+
/** Check if this CodeableConcept has a specific RxNorm code */
|
|
96
|
+
hasRxNormCode(code: string): boolean;
|
|
97
|
+
/** Check if this CodeableConcept has any of the provided RxNorm codes */
|
|
98
|
+
hasSomeRxNorm(codes: string[]): boolean;
|
|
99
|
+
/** Find a RxNorm coding matching a predicate */
|
|
100
|
+
findRxNormCoding(predicate: (code: string) => boolean): SmartCoding | undefined;
|
|
101
|
+
/** Get the first NDC coding */
|
|
102
|
+
getNdc(): SmartCoding | undefined;
|
|
103
|
+
/** Get all NDC codings */
|
|
104
|
+
getNdcCodings(): SmartCoding[];
|
|
105
|
+
/** Get the first NDC code value */
|
|
106
|
+
getNdcCode(): string | undefined;
|
|
107
|
+
/** Get all NDC code values */
|
|
108
|
+
getNdcCodes(): string[];
|
|
109
|
+
/** Check if this CodeableConcept has any NDC coding */
|
|
110
|
+
hasNdc(): boolean;
|
|
111
|
+
/** Check if this CodeableConcept has a specific NDC code */
|
|
112
|
+
hasNdcCode(code: string): boolean;
|
|
113
|
+
/** Check if this CodeableConcept has any of the provided NDC codes */
|
|
114
|
+
hasSomeNdc(codes: string[]): boolean;
|
|
115
|
+
/** Find an NDC coding matching a predicate */
|
|
116
|
+
findNdcCoding(predicate: (code: string) => boolean): SmartCoding | undefined;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Base interface for smart resources - all smart resources have these capabilities
|
|
120
|
+
*/
|
|
121
|
+
export interface SmartResourceBase {
|
|
122
|
+
readonly __isSmartResource: true;
|
|
123
|
+
/**
|
|
124
|
+
* Get all resources that reference this resource (reverse reference lookup)
|
|
125
|
+
* @param options - Optional filters for resourceType and referenceField
|
|
126
|
+
* @returns Array of smart resources that reference this resource
|
|
127
|
+
*/
|
|
128
|
+
getReferencingResources<T extends Resource = Resource>(options?: ReverseReferenceOptions): ToSmart<T>[];
|
|
129
|
+
/**
|
|
130
|
+
* Get all resources referenced by this resource (forward reference lookup)
|
|
131
|
+
* @returns Array of smart resources referenced by this resource based on REFERENCE_METHOD_MAPPING
|
|
132
|
+
*/
|
|
133
|
+
getReferencedResources<T extends Resource = Resource>(): ToSmart<T>[];
|
|
134
|
+
/**
|
|
135
|
+
* Convert the resource to a string representation without proxy limitations
|
|
136
|
+
* @param space - Number of spaces to use for indentation (default: 2)
|
|
137
|
+
* @returns JSON string representation of the resource
|
|
138
|
+
*/
|
|
139
|
+
toString(space?: number): string;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generic type that converts any Resource to a Smart resource
|
|
143
|
+
*
|
|
144
|
+
* Note: CodeableConcept and Coding properties are wrapped at runtime via proxies.
|
|
145
|
+
* See coding-fields.ts for the complete list of transformed fields per resource type.
|
|
146
|
+
* TypeScript cannot enforce these transformations due to complexity limits,
|
|
147
|
+
* but the runtime behavior is fully functional.
|
|
148
|
+
*/
|
|
149
|
+
export type Smart<T extends Resource> = T & SmartResourceBase & ReferenceMethodsFor<T>;
|
|
150
|
+
/**
|
|
151
|
+
* Reference methods for Observation resources
|
|
152
|
+
*/
|
|
153
|
+
export interface ObservationReferenceMethods {
|
|
154
|
+
getBasedOn<T extends Resource>(): ToSmart<T>[];
|
|
155
|
+
getPartOf<T extends Resource>(): ToSmart<T>[];
|
|
156
|
+
getSubject<T extends Patient | Group | Device | Location>(): ToSmart<T> | undefined;
|
|
157
|
+
getFocus<T extends Resource>(): ToSmart<T>[];
|
|
158
|
+
getEncounter(): SmartEncounter | undefined;
|
|
159
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson>(): ToSmart<T>[];
|
|
160
|
+
getSpecimen<T extends Resource>(): ToSmart<T> | undefined;
|
|
161
|
+
getDevice(): SmartDevice | undefined;
|
|
162
|
+
getHasMember<T extends Resource>(): ToSmart<T>[];
|
|
163
|
+
getDerivedFrom<T extends Resource>(): ToSmart<T>[];
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Reference methods for Encounter resources
|
|
167
|
+
*/
|
|
168
|
+
export interface EncounterReferenceMethods {
|
|
169
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
170
|
+
getEpisodeOfCare<T extends Resource>(): ToSmart<T>[];
|
|
171
|
+
getBasedOn<T extends Resource>(): ToSmart<T>[];
|
|
172
|
+
getParticipants<T extends Practitioner | PractitionerRole | RelatedPerson | Device>(): ToSmart<T>[];
|
|
173
|
+
getAppointment<T extends Resource>(): ToSmart<T>[];
|
|
174
|
+
getReasonReference<T extends Resource>(): ToSmart<T>[];
|
|
175
|
+
getAccount<T extends Resource>(): ToSmart<T>[];
|
|
176
|
+
getServiceProvider(): SmartOrganization | undefined;
|
|
177
|
+
getPartOf(): SmartEncounter | undefined;
|
|
178
|
+
getHospitalizationOrigin<T extends Location | Organization>(): ToSmart<T> | undefined;
|
|
179
|
+
getHospitalizationDestination<T extends Location | Organization>(): ToSmart<T> | undefined;
|
|
180
|
+
getLocation(): SmartLocation[];
|
|
181
|
+
getDiagnosisCondition(): (SmartCondition | SmartProcedure)[];
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Reference methods for DiagnosticReport resources
|
|
185
|
+
*/
|
|
186
|
+
export interface DiagnosticReportReferenceMethods {
|
|
187
|
+
getBasedOn<T extends Resource>(): ToSmart<T>[];
|
|
188
|
+
getSubject<T extends Patient | Group | Device | Location>(): ToSmart<T> | undefined;
|
|
189
|
+
getEncounter(): SmartEncounter | undefined;
|
|
190
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam>(): ToSmart<T>[];
|
|
191
|
+
getResultsInterpreter<T extends Practitioner | PractitionerRole | Organization | CareTeam>(): ToSmart<T>[];
|
|
192
|
+
getSpecimen<T extends Resource>(): ToSmart<T>[];
|
|
193
|
+
getResults(): SmartObservation[];
|
|
194
|
+
getImagingStudy<T extends Resource>(): ToSmart<T>[];
|
|
195
|
+
getMediaLink<T extends Resource>(): ToSmart<T>[];
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Reference methods for Patient resources
|
|
199
|
+
*/
|
|
200
|
+
export interface PatientReferenceMethods {
|
|
201
|
+
getGeneralPractitioners<T extends Practitioner | PractitionerRole | Organization>(): ToSmart<T>[];
|
|
202
|
+
getManagingOrganization(): SmartOrganization | undefined;
|
|
203
|
+
getContactOrganization(): SmartOrganization[];
|
|
204
|
+
getLinkOther<T extends Patient | RelatedPerson>(): ToSmart<T>[];
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Reference methods for Practitioner resources
|
|
208
|
+
*/
|
|
209
|
+
export interface PractitionerReferenceMethods {
|
|
210
|
+
getQualificationIssuer(): SmartOrganization[];
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Reference methods for PractitionerRole resources
|
|
214
|
+
*/
|
|
215
|
+
export interface PractitionerRoleReferenceMethods {
|
|
216
|
+
getPractitioner(): SmartPractitioner | undefined;
|
|
217
|
+
getOrganization(): SmartOrganization | undefined;
|
|
218
|
+
getLocation(): SmartLocation[];
|
|
219
|
+
getHealthcareService<T extends Resource>(): ToSmart<T>[];
|
|
220
|
+
getEndpoint<T extends Resource>(): ToSmart<T>[];
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Reference methods for AllergyIntolerance resources
|
|
224
|
+
*/
|
|
225
|
+
export interface AllergyIntoleranceReferenceMethods {
|
|
226
|
+
getPatient(): SmartPatient | undefined;
|
|
227
|
+
getEncounter(): SmartEncounter | undefined;
|
|
228
|
+
getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): ToSmart<T> | undefined;
|
|
229
|
+
getAsserter<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): ToSmart<T> | undefined;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Reference methods for Condition resources
|
|
233
|
+
*/
|
|
234
|
+
export interface ConditionReferenceMethods {
|
|
235
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
236
|
+
getEncounter(): SmartEncounter | undefined;
|
|
237
|
+
getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): ToSmart<T> | undefined;
|
|
238
|
+
getAsserter<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): ToSmart<T> | undefined;
|
|
239
|
+
getStageAssessment<T extends Resource>(): ToSmart<T>[];
|
|
240
|
+
getEvidenceDetail<T extends Resource>(): ToSmart<T>[];
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Reference methods for Organization resources
|
|
244
|
+
*/
|
|
245
|
+
export interface OrganizationReferenceMethods {
|
|
246
|
+
getPartOf(): SmartOrganization | undefined;
|
|
247
|
+
getEndpoint<T extends Resource>(): ToSmart<T>[];
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Reference methods for Location resources
|
|
251
|
+
*/
|
|
252
|
+
export interface LocationReferenceMethods {
|
|
253
|
+
getManagingOrganization(): SmartOrganization | undefined;
|
|
254
|
+
getPartOf(): SmartLocation | undefined;
|
|
255
|
+
getEndpoint<T extends Resource>(): ToSmart<T>[];
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Reference methods for Composition resources
|
|
259
|
+
*/
|
|
260
|
+
export interface CompositionReferenceMethods {
|
|
261
|
+
getSubject<T extends Resource>(): ToSmart<T> | undefined;
|
|
262
|
+
getEncounter(): SmartEncounter | undefined;
|
|
263
|
+
getAuthors<T extends Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization>(): ToSmart<T>[];
|
|
264
|
+
getCustodian(): SmartOrganization | undefined;
|
|
265
|
+
getAttesterParty<T extends Patient | RelatedPerson | Practitioner | PractitionerRole | Organization>(): ToSmart<T>[];
|
|
266
|
+
getRelatesToTarget(): SmartComposition[];
|
|
267
|
+
getEventDetail<T extends Resource>(): ToSmart<T>[];
|
|
268
|
+
getSectionAuthor<T extends Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization>(): ToSmart<T>[];
|
|
269
|
+
getSectionFocus<T extends Resource>(): ToSmart<T>[];
|
|
270
|
+
getSectionEntry<T extends Resource>(): ToSmart<T>[];
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Reference methods for Coverage resources
|
|
274
|
+
*/
|
|
275
|
+
export interface CoverageReferenceMethods {
|
|
276
|
+
getBeneficiary(): SmartPatient | undefined;
|
|
277
|
+
getSubscriber<T extends Patient | RelatedPerson>(): ToSmart<T> | undefined;
|
|
278
|
+
getPayors<T extends Organization | Patient | RelatedPerson>(): ToSmart<T>[];
|
|
279
|
+
getPolicyHolder<T extends Patient | RelatedPerson | Organization>(): ToSmart<T> | undefined;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Reference methods for DocumentReference resources
|
|
283
|
+
*/
|
|
284
|
+
export interface DocumentReferenceReferenceMethods {
|
|
285
|
+
getSubject<T extends Patient | Group | Practitioner | PractitionerRole | Device>(): ToSmart<T> | undefined;
|
|
286
|
+
getAuthors<T extends Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson>(): ToSmart<T>[];
|
|
287
|
+
getAuthenticator<T extends Practitioner | PractitionerRole | Organization>(): ToSmart<T> | undefined;
|
|
288
|
+
getCustodian(): SmartOrganization | undefined;
|
|
289
|
+
getRelatesToTarget(): SmartDocumentReference[];
|
|
290
|
+
getContextEncounter<T extends Encounter | Resource>(): ToSmart<T>[];
|
|
291
|
+
getContextSourcePatientInfo(): SmartPatient | undefined;
|
|
292
|
+
getContextRelated<T extends Resource>(): ToSmart<T>[];
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Reference methods for Immunization resources
|
|
296
|
+
*/
|
|
297
|
+
export interface ImmunizationReferenceMethods {
|
|
298
|
+
getPatient(): SmartPatient | undefined;
|
|
299
|
+
getEncounter(): SmartEncounter | undefined;
|
|
300
|
+
getLocation(): SmartLocation | undefined;
|
|
301
|
+
getManufacturer(): SmartOrganization | undefined;
|
|
302
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization>(): ToSmart<T>[];
|
|
303
|
+
getReasonReference<T extends Condition | Observation | DiagnosticReport>(): ToSmart<T>[];
|
|
304
|
+
getProtocolAppliedAuthority(): SmartOrganization[];
|
|
305
|
+
getReactionDetail(): SmartObservation[];
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Reference methods for Medication resources
|
|
309
|
+
*/
|
|
310
|
+
export interface MedicationReferenceMethods {
|
|
311
|
+
getManufacturer(): SmartOrganization | undefined;
|
|
312
|
+
getIngredientItem<T extends Resource | Medication>(): ToSmart<T>[];
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Reference methods for MedicationRequest resources
|
|
316
|
+
*/
|
|
317
|
+
export interface MedicationRequestReferenceMethods {
|
|
318
|
+
getReportedReference<T extends Patient | Practitioner | PractitionerRole | RelatedPerson | Organization>(): ToSmart<T> | undefined;
|
|
319
|
+
getMedicationReference(): SmartMedication | undefined;
|
|
320
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
321
|
+
getEncounter(): SmartEncounter | undefined;
|
|
322
|
+
getSupportingInformation<T extends Resource>(): ToSmart<T>[];
|
|
323
|
+
getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): ToSmart<T> | undefined;
|
|
324
|
+
getPerformer<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam>(): ToSmart<T> | undefined;
|
|
325
|
+
getRecorder<T extends Practitioner | PractitionerRole>(): ToSmart<T> | undefined;
|
|
326
|
+
getReasonReference<T extends Condition | Observation>(): ToSmart<T>[];
|
|
327
|
+
getBasedOn<T extends Resource>(): ToSmart<T>[];
|
|
328
|
+
getInsurance<T extends Resource>(): ToSmart<T>[];
|
|
329
|
+
getPriorPrescription(): SmartMedicationRequest | undefined;
|
|
330
|
+
getDetectedIssue<T extends Resource>(): ToSmart<T>[];
|
|
331
|
+
getEventHistory<T extends Resource>(): ToSmart<T>[];
|
|
332
|
+
getDispenseRequestPerformer(): SmartOrganization | undefined;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Reference methods for Procedure resources
|
|
336
|
+
*/
|
|
337
|
+
export interface ProcedureReferenceMethods {
|
|
338
|
+
getBasedOn<T extends Resource>(): ToSmart<T>[];
|
|
339
|
+
getPartOf<T extends Procedure | Observation | Resource>(): ToSmart<T>[];
|
|
340
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
341
|
+
getEncounter(): SmartEncounter | undefined;
|
|
342
|
+
getRecorder<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): ToSmart<T> | undefined;
|
|
343
|
+
getAsserter<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): ToSmart<T> | undefined;
|
|
344
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): ToSmart<T>[];
|
|
345
|
+
getPerformerOnBehalfOf(): SmartOrganization[];
|
|
346
|
+
getLocation(): SmartLocation | undefined;
|
|
347
|
+
getReasonReference<T extends Condition | Observation | Procedure | DiagnosticReport | DocumentReference>(): ToSmart<T>[];
|
|
348
|
+
getReport<T extends DiagnosticReport | DocumentReference | Composition>(): ToSmart<T>[];
|
|
349
|
+
getComplicationDetail(): SmartCondition[];
|
|
350
|
+
getFocalDeviceManipulated(): SmartDevice[];
|
|
351
|
+
getUsedReference<T extends Device | Medication | Resource>(): ToSmart<T>[];
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Reference methods for FamilyMemberHistory resources
|
|
355
|
+
*/
|
|
356
|
+
export interface FamilyMemberHistoryReferenceMethods {
|
|
357
|
+
getPatient(): SmartPatient | undefined;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Reference methods for MedicationAdministration resources
|
|
361
|
+
*/
|
|
362
|
+
export interface MedicationAdministrationReferenceMethods {
|
|
363
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
364
|
+
getContext<T extends Encounter>(): ToSmart<T> | undefined;
|
|
365
|
+
getPerformers<T extends Practitioner | PractitionerRole | Patient | RelatedPerson | Device>(): ToSmart<T>[];
|
|
366
|
+
getMedicationReference(): SmartMedication | undefined;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Reference methods for MedicationDispense resources
|
|
370
|
+
*/
|
|
371
|
+
export interface MedicationDispenseReferenceMethods {
|
|
372
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
373
|
+
getContext<T extends Encounter>(): ToSmart<T> | undefined;
|
|
374
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson>(): ToSmart<T>[];
|
|
375
|
+
getMedicationReference(): SmartMedication | undefined;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Reference methods for MedicationStatement resources
|
|
379
|
+
*/
|
|
380
|
+
export interface MedicationStatementReferenceMethods {
|
|
381
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
382
|
+
getContext<T extends Encounter>(): ToSmart<T> | undefined;
|
|
383
|
+
getInformationSource<T extends Patient | Practitioner | PractitionerRole | RelatedPerson | Organization>(): ToSmart<T> | undefined;
|
|
384
|
+
getMedicationReference(): SmartMedication | undefined;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Reference methods for RelatedPerson resources
|
|
388
|
+
*/
|
|
389
|
+
export interface RelatedPersonReferenceMethods {
|
|
390
|
+
getPatient(): SmartPatient | undefined;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Reference methods for RiskAssessment resources
|
|
394
|
+
*/
|
|
395
|
+
export interface RiskAssessmentReferenceMethods {
|
|
396
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
397
|
+
getEncounter(): SmartEncounter | undefined;
|
|
398
|
+
getPerformer<T extends Practitioner | PractitionerRole | Device>(): ToSmart<T> | undefined;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Reference methods for ServiceRequest resources
|
|
402
|
+
*/
|
|
403
|
+
export interface ServiceRequestReferenceMethods {
|
|
404
|
+
getSubject<T extends Patient | Group | Location | Device>(): ToSmart<T> | undefined;
|
|
405
|
+
getEncounter(): SmartEncounter | undefined;
|
|
406
|
+
getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): ToSmart<T> | undefined;
|
|
407
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson>(): ToSmart<T>[];
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Reference methods for CarePlan resources
|
|
411
|
+
*/
|
|
412
|
+
export interface CarePlanReferenceMethods {
|
|
413
|
+
getBasedOn(): SmartCarePlan[];
|
|
414
|
+
getReplaces(): SmartCarePlan[];
|
|
415
|
+
getPartOf(): SmartCarePlan[];
|
|
416
|
+
getSubject<T extends Patient | Group>(): ToSmart<T> | undefined;
|
|
417
|
+
getEncounter(): SmartEncounter | undefined;
|
|
418
|
+
getAuthor<T extends Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam>(): ToSmart<T> | undefined;
|
|
419
|
+
getContributor<T extends Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam>(): ToSmart<T>[];
|
|
420
|
+
getCareTeam(): SmartCareTeam[];
|
|
421
|
+
getAddresses(): SmartCondition[];
|
|
422
|
+
getSupportingInfo<T extends Resource>(): ToSmart<T>[];
|
|
423
|
+
getGoal(): SmartGoal[];
|
|
424
|
+
getActivityReference<T extends Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup>(): ToSmart<T>[];
|
|
425
|
+
getActivityOutcomeReference<T extends Resource>(): ToSmart<T>[];
|
|
426
|
+
getActivityDetailReasonReference<T extends Condition | Observation | DiagnosticReport | DocumentReference>(): ToSmart<T>[];
|
|
427
|
+
getActivityDetailGoal(): SmartGoal[];
|
|
428
|
+
getActivityDetailLocation(): SmartLocation[];
|
|
429
|
+
getActivityDetailPerformer<T extends Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device>(): ToSmart<T>[];
|
|
430
|
+
getActivityDetailProductReference<T extends Medication | Substance>(): ToSmart<T>[];
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Base reference methods for resources that don't have specific reference patterns
|
|
434
|
+
*/
|
|
435
|
+
export interface BaseReferenceMethods {
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Conditional type that maps resource types to their reference methods
|
|
439
|
+
*/
|
|
440
|
+
export type ReferenceMethodsFor<T extends Resource> = T extends Observation ? ObservationReferenceMethods : T extends Encounter ? EncounterReferenceMethods : T extends DiagnosticReport ? DiagnosticReportReferenceMethods : T extends Patient ? PatientReferenceMethods : T extends Practitioner ? PractitionerReferenceMethods : T extends PractitionerRole ? PractitionerRoleReferenceMethods : T extends AllergyIntolerance ? AllergyIntoleranceReferenceMethods : T extends Condition ? ConditionReferenceMethods : T extends Organization ? OrganizationReferenceMethods : T extends Location ? LocationReferenceMethods : T extends Composition ? CompositionReferenceMethods : T extends Coverage ? CoverageReferenceMethods : T extends DocumentReference ? DocumentReferenceReferenceMethods : T extends Immunization ? ImmunizationReferenceMethods : T extends Medication ? MedicationReferenceMethods : T extends MedicationRequest ? MedicationRequestReferenceMethods : T extends Procedure ? ProcedureReferenceMethods : T extends FamilyMemberHistory ? FamilyMemberHistoryReferenceMethods : T extends MedicationAdministration ? MedicationAdministrationReferenceMethods : T extends MedicationDispense ? MedicationDispenseReferenceMethods : T extends MedicationStatement ? MedicationStatementReferenceMethods : T extends RelatedPerson ? RelatedPersonReferenceMethods : T extends RiskAssessment ? RiskAssessmentReferenceMethods : T extends ServiceRequest ? ServiceRequestReferenceMethods : T extends CarePlan ? CarePlanReferenceMethods : BaseReferenceMethods;
|
|
441
|
+
/**
|
|
442
|
+
* IMPORTANT: For user-facing code, prefer specific Smart type aliases (SmartObservation,
|
|
443
|
+
* SmartCondition, etc.) defined in coding-fields.ts over the generic Smart<T> pattern.
|
|
444
|
+
*
|
|
445
|
+
* The specific types include CodeableConcept field overrides that enable coding system
|
|
446
|
+
* utilities (hasLoinc(), getIcd10Code(), etc.) to work correctly in TypeScript.
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* // ✅ GOOD - Users get full TypeScript support for coding utilities
|
|
450
|
+
* getObservationById(id: string): SmartObservation | undefined
|
|
451
|
+
*
|
|
452
|
+
* // ❌ BAD - Users cannot access coding utilities without type assertions
|
|
453
|
+
* getObservationById(id: string): Smart<Observation> | undefined
|
|
454
|
+
*
|
|
455
|
+
* The generic Smart<T> should only be used internally or when the specific resource
|
|
456
|
+
* type is truly dynamic.
|
|
457
|
+
*/
|
|
458
|
+
/**
|
|
459
|
+
* Reference field mapping - maps reference method names to their field paths
|
|
460
|
+
*/
|
|
461
|
+
export declare const REFERENCE_METHOD_MAPPING: Record<string, Record<string, string>>;
|
|
462
|
+
/**
|
|
463
|
+
* Helper type to check if a method name is a valid reference method for a resource type
|
|
464
|
+
*/
|
|
465
|
+
export declare function isReferenceMethod(methodName: string, resourceType: string): boolean;
|
|
466
|
+
/**
|
|
467
|
+
* Get the reference field path for a method name and resource type
|
|
468
|
+
*/
|
|
469
|
+
export declare function getReferenceField(methodName: string, resourceType: string): string | undefined;
|
|
470
|
+
//# sourceMappingURL=smart-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-resources.d.ts","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,cAAc,EACd,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,IAAI,EACJ,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,OAAO,EACR,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,uDAAuD;IACvD,OAAO,IAAI,OAAO,CAAC;IACnB,wDAAwD;IACxD,OAAO,IAAI,OAAO,CAAC;IACnB,wDAAwD;IACxD,QAAQ,IAAI,OAAO,CAAC;IACpB,wDAAwD;IACxD,QAAQ,IAAI,OAAO,CAAC;IACpB,qDAAqD;IACrD,KAAK,IAAI,OAAO,CAAC;IACjB,gEAAgE;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,0EAA0E;IAC1E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC;IAC3E,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAGvB,iCAAiC;IACjC,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC;IACpC,4BAA4B;IAC5B,eAAe,IAAI,WAAW,EAAE,CAAC;IACjC,qCAAqC;IACrC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,gCAAgC;IAChC,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,IAAI,OAAO,CAAC;IACpB,8DAA8D;IAC9D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,wEAAwE;IACxE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,+CAA+C;IAC/C,eAAe,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAG/E,kCAAkC;IAClC,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC;IACpC,6BAA6B;IAC7B,eAAe,IAAI,WAAW,EAAE,CAAC;IACjC,sCAAsC;IACtC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,iCAAiC;IACjC,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,IAAI,OAAO,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,yEAAyE;IACzE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,iDAAiD;IACjD,eAAe,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAG/E,kCAAkC;IAClC,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,6BAA6B;IAC7B,gBAAgB,IAAI,WAAW,EAAE,CAAC;IAClC,sCAAsC;IACtC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IACpC,iCAAiC;IACjC,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,SAAS,IAAI,OAAO,CAAC;IACrB,+DAA+D;IAC/D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,yEAAyE;IACzE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxC,gDAAgD;IAChD,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAGhF,kCAAkC;IAClC,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,6BAA6B;IAC7B,gBAAgB,IAAI,WAAW,EAAE,CAAC;IAClC,sCAAsC;IACtC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IACpC,iCAAiC;IACjC,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,SAAS,IAAI,OAAO,CAAC;IACrB,+DAA+D;IAC/D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,yEAAyE;IACzE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxC,gDAAgD;IAChD,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAGhF,+BAA+B;IAC/B,MAAM,IAAI,WAAW,GAAG,SAAS,CAAC;IAClC,0BAA0B;IAC1B,aAAa,IAAI,WAAW,EAAE,CAAC;IAC/B,mCAAmC;IACnC,UAAU,IAAI,MAAM,GAAG,SAAS,CAAC;IACjC,8BAA8B;IAC9B,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB,uDAAuD;IACvD,MAAM,IAAI,OAAO,CAAC;IAClB,4DAA4D;IAC5D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,sEAAsE;IACtE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACrC,8CAA8C;IAC9C,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;CAC9E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC;IAEjC;;;;OAIG;IACH,uBAAuB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACnD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhB;;;OAGG;IACH,sBAAsB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,SAAS,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACpF,QAAQ,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,aAAa,CACX,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,KAC1F,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,WAAW,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1D,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,YAAY,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,cAAc,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,gBAAgB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,eAAe,CACb,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,aAAa,GAAG,MAAM,KAC/D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,cAAc,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,kBAAkB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,kBAAkB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACpD,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,wBAAwB,CAAC,CAAC,SAAS,QAAQ,GAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACtF,6BAA6B,CAAC,CAAC,SAAS,QAAQ,GAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3F,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,qBAAqB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,EAAE,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACpF,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,aAAa,CACX,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,QAAQ,KAChE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,qBAAqB,CACnB,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,QAAQ,KAChE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,WAAW,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,UAAU,IAAI,gBAAgB,EAAE,CAAC;IACjC,eAAe,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,YAAY,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uBAAuB,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,uBAAuB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACzD,sBAAsB,IAAI,iBAAiB,EAAE,CAAC;IAC9C,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,sBAAsB,IAAI,iBAAiB,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,eAAe,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACjD,eAAe,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACjD,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,oBAAoB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,WAAW,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,UAAU,IAAI,YAAY,GAAG,SAAS,CAAC;IACvC,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,aAAa,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,aAAa,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,WAAW,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,aAAa,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,kBAAkB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,iBAAiB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,IAAI,iBAAiB,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uBAAuB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACzD,SAAS,IAAI,aAAa,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzD,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,UAAU,CACR,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,KACxF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,YAAY,IAAI,iBAAiB,GAAG,SAAS,CAAC;IAC9C,gBAAgB,CACd,CAAC,SAAS,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,YAAY,KAC/E,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;IACzC,cAAc,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,gBAAgB,CACd,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,KACxF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,eAAe,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,eAAe,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,cAAc,IAAI,YAAY,GAAG,SAAS,CAAC;IAC3C,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3E,SAAS,CAAC,CAAC,SAAS,YAAY,GAAG,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,GAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC7F;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,YAAY,GAAG,gBAAgB,GAAG,MAAM,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,UAAU,CACR,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,KACxF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,KACrE,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,YAAY,IAAI,iBAAiB,GAAG,SAAS,CAAC;IAC9C,kBAAkB,IAAI,sBAAsB,EAAE,CAAC;IAC/C,mBAAmB,CAAC,CAAC,SAAS,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,2BAA2B,IAAI,YAAY,GAAG,SAAS,CAAC;IACxD,iBAAiB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,IAAI,YAAY,GAAG,SAAS,CAAC;IACvC,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,WAAW,IAAI,aAAa,GAAG,SAAS,CAAC;IACzC,eAAe,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACjD,aAAa,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,WAAW,GAAG,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,2BAA2B,IAAI,iBAAiB,EAAE,CAAC;IACnD,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,eAAe,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACjD,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,oBAAoB,CAClB,CAAC,SAAS,OAAO,GAAG,YAAY,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,KAC/E,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5B,sBAAsB,IAAI,eAAe,GAAG,SAAS,CAAC;IACtD,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,wBAAwB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,YAAY,CACV,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,KACxF,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5B,YAAY,CACV,CAAC,SACG,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,OAAO,GACP,MAAM,GACN,aAAa,GACb,QAAQ,KACT,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACjF,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,YAAY,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,oBAAoB,IAAI,sBAAsB,GAAG,SAAS,CAAC;IAC3D,gBAAgB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,eAAe,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,2BAA2B,IAAI,iBAAiB,GAAG,SAAS,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,KAC3E,OAAO,CAAC,CAAC,CAAC,GACV,SAAS,CAAC;IACd,aAAa,CACX,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,KACxF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,sBAAsB,IAAI,iBAAiB,EAAE,CAAC;IAC9C,WAAW,IAAI,aAAa,GAAG,SAAS,CAAC;IACzC,kBAAkB,CAChB,CAAC,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,KACjF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,SAAS,CAAC,CAAC,SAAS,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,qBAAqB,IAAI,cAAc,EAAE,CAAC;IAC1C,yBAAyB,IAAI,WAAW,EAAE,CAAC;IAC3C,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5E;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,UAAU,IAAI,YAAY,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACvD,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,UAAU,CAAC,CAAC,SAAS,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1D,aAAa,CACX,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,KACzE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,sBAAsB,IAAI,eAAe,GAAG,SAAS,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,UAAU,CAAC,CAAC,SAAS,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1D,aAAa,CACX,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,KACxF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,sBAAsB,IAAI,eAAe,GAAG,SAAS,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,UAAU,CAAC,CAAC,SAAS,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1D,oBAAoB,CAClB,CAAC,SAAS,OAAO,GAAG,YAAY,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,KAC/E,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5B,sBAAsB,IAAI,eAAe,GAAG,SAAS,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,UAAU,IAAI,YAAY,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,YAAY,CAAC,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC5F;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACpF,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,YAAY,CACV,CAAC,SAAS,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,KACxF,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5B,aAAa,CACX,CAAC,SACG,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,MAAM,GACN,aAAa,KACd,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,IAAI,aAAa,EAAE,CAAC;IAC9B,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,SAAS,IAAI,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;IAC3C,SAAS,CACP,CAAC,SACG,OAAO,GACP,YAAY,GACZ,gBAAgB,GAChB,MAAM,GACN,aAAa,GACb,YAAY,GACZ,QAAQ,KACT,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5B,cAAc,CACZ,CAAC,SACG,OAAO,GACP,YAAY,GACZ,gBAAgB,GAChB,MAAM,GACN,aAAa,GACb,YAAY,GACZ,QAAQ,KACT,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,YAAY,IAAI,cAAc,EAAE,CAAC;IACjC,iBAAiB,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO,IAAI,SAAS,EAAE,CAAC;IACvB,oBAAoB,CAClB,CAAC,SACG,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,IAAI,GACJ,cAAc,GACd,kBAAkB,GAClB,YAAY,KACb,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,2BAA2B,CAAC,CAAC,SAAS,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,gCAAgC,CAC9B,CAAC,SAAS,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,KACrE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,qBAAqB,IAAI,SAAS,EAAE,CAAC;IACrC,yBAAyB,IAAI,aAAa,EAAE,CAAC;IAC7C,0BAA0B,CACxB,CAAC,SACG,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,OAAO,GACP,QAAQ,GACR,iBAAiB,GACjB,MAAM,KACP,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,iCAAiC,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACrF;AAED;;GAEG;AAEH,MAAM,WAAW,oBAAoB;CAEpC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,WAAW,GACvE,2BAA2B,GAC3B,CAAC,SAAS,SAAS,GACnB,yBAAyB,GACzB,CAAC,SAAS,gBAAgB,GAC1B,gCAAgC,GAChC,CAAC,SAAS,OAAO,GACjB,uBAAuB,GACvB,CAAC,SAAS,YAAY,GACtB,4BAA4B,GAC5B,CAAC,SAAS,gBAAgB,GAC1B,gCAAgC,GAChC,CAAC,SAAS,kBAAkB,GAC5B,kCAAkC,GAClC,CAAC,SAAS,SAAS,GACnB,yBAAyB,GACzB,CAAC,SAAS,YAAY,GACtB,4BAA4B,GAC5B,CAAC,SAAS,QAAQ,GAClB,wBAAwB,GACxB,CAAC,SAAS,WAAW,GACrB,2BAA2B,GAC3B,CAAC,SAAS,QAAQ,GAClB,wBAAwB,GACxB,CAAC,SAAS,iBAAiB,GAC3B,iCAAiC,GACjC,CAAC,SAAS,YAAY,GACtB,4BAA4B,GAC5B,CAAC,SAAS,UAAU,GACpB,0BAA0B,GAC1B,CAAC,SAAS,iBAAiB,GAC3B,iCAAiC,GACjC,CAAC,SAAS,SAAS,GACnB,yBAAyB,GACzB,CAAC,SAAS,mBAAmB,GAC7B,mCAAmC,GACnC,CAAC,SAAS,wBAAwB,GAClC,wCAAwC,GACxC,CAAC,SAAS,kBAAkB,GAC5B,kCAAkC,GAClC,CAAC,SAAS,mBAAmB,GAC7B,mCAAmC,GACnC,CAAC,SAAS,aAAa,GACvB,6BAA6B,GAC7B,CAAC,SAAS,cAAc,GACxB,8BAA8B,GAC9B,CAAC,SAAS,cAAc,GACxB,8BAA8B,GAC9B,CAAC,SAAS,QAAQ,GAClB,wBAAwB,GACxB,oBAAoB,CAAC;AAEzB;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgN3E,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAGnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9F"}
|