@activepieces/piece-azure-devops 0.0.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.
Files changed (37) hide show
  1. package/package.json +16 -0
  2. package/src/index.d.ts +5 -0
  3. package/src/index.d.ts.map +1 -0
  4. package/src/index.js +42 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/actions/add-comment.d.ts +12 -0
  7. package/src/lib/actions/add-comment.d.ts.map +1 -0
  8. package/src/lib/actions/add-comment.js +57 -0
  9. package/src/lib/actions/add-comment.js.map +1 -0
  10. package/src/lib/actions/create-work-item.d.ts +27 -0
  11. package/src/lib/actions/create-work-item.d.ts.map +1 -0
  12. package/src/lib/actions/create-work-item.js +72 -0
  13. package/src/lib/actions/create-work-item.js.map +1 -0
  14. package/src/lib/actions/get-work-item.d.ts +11 -0
  15. package/src/lib/actions/get-work-item.d.ts.map +1 -0
  16. package/src/lib/actions/get-work-item.js +41 -0
  17. package/src/lib/actions/get-work-item.js.map +1 -0
  18. package/src/lib/actions/list-work-items.d.ts +12 -0
  19. package/src/lib/actions/list-work-items.d.ts.map +1 -0
  20. package/src/lib/actions/list-work-items.js +60 -0
  21. package/src/lib/actions/list-work-items.js.map +1 -0
  22. package/src/lib/actions/update-work-item.d.ts +67 -0
  23. package/src/lib/actions/update-work-item.d.ts.map +1 -0
  24. package/src/lib/actions/update-work-item.js +107 -0
  25. package/src/lib/actions/update-work-item.js.map +1 -0
  26. package/src/lib/common/index.d.ts +210 -0
  27. package/src/lib/common/index.d.ts.map +1 -0
  28. package/src/lib/common/index.js +581 -0
  29. package/src/lib/common/index.js.map +1 -0
  30. package/src/lib/triggers/new-updated-work-item-webhook.d.ts +68 -0
  31. package/src/lib/triggers/new-updated-work-item-webhook.d.ts.map +1 -0
  32. package/src/lib/triggers/new-updated-work-item-webhook.js +167 -0
  33. package/src/lib/triggers/new-updated-work-item-webhook.js.map +1 -0
  34. package/src/lib/triggers/new-updated-work-item.d.ts +91 -0
  35. package/src/lib/triggers/new-updated-work-item.d.ts.map +1 -0
  36. package/src/lib/triggers/new-updated-work-item.js +114 -0
  37. package/src/lib/triggers/new-updated-work-item.js.map +1 -0
@@ -0,0 +1,210 @@
1
+ import { HttpMethod, HttpMessageBody } from '@activepieces/pieces-common';
2
+ import { AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
3
+ declare function asAzureAuth(auth: unknown): AzureDevOpsAuth;
4
+ declare function narrowString(value: unknown, fieldName: string): string;
5
+ declare function generateWebhookToken(): string;
6
+ declare function timingSafeEqual(a: string, b: string): boolean;
7
+ declare function extractHttpStatus(error: unknown): string;
8
+ declare function parseWebhookPayload(body: unknown): WebhookPayload | null;
9
+ export declare const azureDevOpsAuth: import("@activepieces/pieces-framework").CustomAuthProperty<{
10
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
12
+ }>;
13
+ export type AzureDevOpsAuth = AppConnectionValueForAuthProperty<typeof azureDevOpsAuth>;
14
+ declare function azureDevOpsApiCall<T extends HttpMessageBody>({ organizationUrl, pat, method, endpoint, body, queryParams, isJsonPatch, }: {
15
+ organizationUrl: string;
16
+ pat: string;
17
+ method: HttpMethod;
18
+ endpoint: string;
19
+ body?: unknown;
20
+ queryParams?: Record<string, string>;
21
+ isJsonPatch?: boolean;
22
+ }): Promise<T>;
23
+ declare function flattenWorkItem(workItem: AzureDevOpsWorkItem): FlatWorkItem;
24
+ declare function fetchWorkItemsByIds({ organizationUrl, pat, ids, }: {
25
+ organizationUrl: string;
26
+ pat: string;
27
+ ids: number[];
28
+ }): Promise<FlatWorkItem[]>;
29
+ declare function createSubscription({ auth, projectId, eventType, webhookUrl, workItemType, basicAuthUsername, basicAuthPassword, }: {
30
+ auth: AzureDevOpsAuth;
31
+ projectId: string;
32
+ eventType: AzureDevOpsHookEvent;
33
+ webhookUrl: string;
34
+ workItemType?: string;
35
+ basicAuthUsername?: string;
36
+ basicAuthPassword?: string;
37
+ }): Promise<SubscriptionResponse>;
38
+ declare function deleteSubscription({ auth, subscriptionId, }: {
39
+ auth: AzureDevOpsAuth;
40
+ subscriptionId: string;
41
+ }): Promise<void>;
42
+ declare function fetchProjectId(auth: AzureDevOpsAuth, projectName: string): Promise<string | null>;
43
+ declare function fetchTeamMembers(auth: AzureDevOpsAuth, projectName: string): Promise<IdentityRef[]>;
44
+ declare function fetchWorkItemTypeStates(auth: AzureDevOpsAuth, projectName: string, workItemType: string): Promise<WorkItemStateColor[]>;
45
+ export declare const azureDevOpsCommon: {
46
+ projectDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
47
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
48
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
49
+ }>>;
50
+ workItemTypeDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").CustomAuthProperty<{
51
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
52
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
53
+ }>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
54
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
55
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
56
+ }>>;
57
+ workItemTypeDropdownOptional: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").CustomAuthProperty<{
58
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
59
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
60
+ }>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
61
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
62
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
63
+ }>>;
64
+ assignedToDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").CustomAuthProperty<{
65
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
66
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
67
+ }>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
68
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
69
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
70
+ }>>;
71
+ stateDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").CustomAuthProperty<{
72
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
73
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
74
+ }>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
75
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
76
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
77
+ }>>;
78
+ stateDropdownOptional: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").CustomAuthProperty<{
79
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
80
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
81
+ }>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
82
+ organizationUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
83
+ pat: import("@activepieces/pieces-framework").SecretTextProperty<true>;
84
+ }>>;
85
+ priorityDropdown: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
86
+ escapeWiqlString: typeof escapeWiqlString;
87
+ sanitizeOrgUrl: typeof sanitizeOrgUrl;
88
+ isValidUrl: typeof isValidUrl;
89
+ asAuth: typeof asAzureAuth;
90
+ narrowString: typeof narrowString;
91
+ parseWebhookPayload: typeof parseWebhookPayload;
92
+ generateWebhookToken: typeof generateWebhookToken;
93
+ timingSafeEqual: typeof timingSafeEqual;
94
+ extractHttpStatus: typeof extractHttpStatus;
95
+ apiCall: typeof azureDevOpsApiCall;
96
+ fetchWorkItemsByIds: typeof fetchWorkItemsByIds;
97
+ flattenWorkItem: typeof flattenWorkItem;
98
+ fetchProjectId: typeof fetchProjectId;
99
+ fetchTeamMembers: typeof fetchTeamMembers;
100
+ fetchWorkItemTypeStates: typeof fetchWorkItemTypeStates;
101
+ createSubscription: typeof createSubscription;
102
+ deleteSubscription: typeof deleteSubscription;
103
+ };
104
+ declare function sanitizeOrgUrl(url: string): string;
105
+ declare function escapeWiqlString(value: string): string;
106
+ declare function isValidUrl(url: string): boolean;
107
+ export interface JsonPatchOperation {
108
+ op: 'add' | 'replace' | 'remove' | 'test';
109
+ path: string;
110
+ value?: unknown;
111
+ }
112
+ export interface IdentityRef {
113
+ displayName: string;
114
+ uniqueName: string;
115
+ id: string;
116
+ }
117
+ export interface AzureDevOpsWorkItem {
118
+ id: number;
119
+ rev: number;
120
+ url?: string;
121
+ fields: Record<string, unknown> & {
122
+ 'System.Title'?: string;
123
+ 'System.WorkItemType'?: string;
124
+ 'System.State'?: string;
125
+ 'System.Reason'?: string;
126
+ 'System.AssignedTo'?: IdentityRef;
127
+ 'System.CreatedDate'?: string;
128
+ 'System.CreatedBy'?: IdentityRef;
129
+ 'System.ChangedDate'?: string;
130
+ 'System.ChangedBy'?: IdentityRef;
131
+ 'System.AreaPath'?: string;
132
+ 'System.IterationPath'?: string;
133
+ 'System.TeamProject'?: string;
134
+ 'System.Description'?: string;
135
+ 'Microsoft.VSTS.Common.Priority'?: number;
136
+ };
137
+ }
138
+ export interface FlatWorkItem {
139
+ id: number;
140
+ rev: number;
141
+ url: string | null;
142
+ title: string | null;
143
+ work_item_type: string | null;
144
+ state: string | null;
145
+ reason: string | null;
146
+ assigned_to: string | null;
147
+ assigned_to_email: string | null;
148
+ created_date: string | null;
149
+ created_by: string | null;
150
+ changed_date: string | null;
151
+ changed_by: string | null;
152
+ area_path: string | null;
153
+ iteration_path: string | null;
154
+ priority: number | null;
155
+ description: string | null;
156
+ project: string | null;
157
+ }
158
+ export interface WiqlResponse {
159
+ queryType: string;
160
+ queryResultType: string;
161
+ asOf: string;
162
+ workItems: Array<{
163
+ id: number;
164
+ url: string;
165
+ }>;
166
+ }
167
+ export interface ProjectListResponse {
168
+ count: number;
169
+ value: Array<{
170
+ id: string;
171
+ name: string;
172
+ state: string;
173
+ }>;
174
+ }
175
+ export interface WorkItemStateColor {
176
+ name: string;
177
+ color?: string;
178
+ category?: string;
179
+ }
180
+ export type AzureDevOpsHookEvent = 'workitem.created' | 'workitem.updated' | 'workitem.commented';
181
+ export declare const WEBHOOK_EVENT_OPTIONS: ReadonlyArray<{
182
+ label: string;
183
+ value: AzureDevOpsHookEvent;
184
+ }>;
185
+ export interface SubscriptionResponse {
186
+ id: string;
187
+ publisherId: string;
188
+ eventType: string;
189
+ consumerId: string;
190
+ consumerActionId: string;
191
+ }
192
+ export interface WorkItemResource {
193
+ id?: number;
194
+ rev?: number;
195
+ url?: string;
196
+ workItemId?: number;
197
+ fields?: AzureDevOpsWorkItem['fields'];
198
+ revision?: {
199
+ comment?: {
200
+ content?: string;
201
+ };
202
+ fields?: AzureDevOpsWorkItem['fields'];
203
+ };
204
+ }
205
+ export interface WebhookPayload {
206
+ eventType: AzureDevOpsHookEvent;
207
+ resource: WorkItemResource;
208
+ }
209
+ export {};
210
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,eAAe,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iCAAiC,EAGlC,MAAM,gCAAgC,CAAC;AAExC,iBAAS,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAEnD;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK/D;AAMD,iBAAS,oBAAoB,IAAI,MAAM,CAItC;AAED,iBAAS,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAOtD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOjD;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAejE;AAeD,eAAO,MAAM,eAAe;;;EAoC1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,iCAAiC,CAAC,OAAO,eAAe,CAAC,CAAC;AAExF,iBAAe,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAAE,EAC3D,eAAe,EACf,GAAG,EACH,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,WAAmB,GACpB,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,CAAC,CAAC,CAgCb;AAyBD,iBAAS,eAAe,CAAC,QAAQ,EAAE,mBAAmB,GAAG,YAAY,CAsBpE;AAED,iBAAe,mBAAmB,CAAC,EACjC,eAAe,EACf,GAAG,EACH,GAAG,GACJ,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4B1B;AAED,iBAAe,kBAAkB,CAAC,EAChC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,EAAE;IACD,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAmChC;AAED,iBAAe,kBAAkB,CAAC,EAChC,IAAI,EACJ,cAAc,GACf,EAAE;IACD,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED,iBAAe,cAAc,CAC3B,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAKD,iBAAe,gBAAgB,CAC7B,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,EAAE,CAAC,CAsCxB;AAED,iBAAe,uBAAuB,CACpC,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAS/B;AAoKD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+F7B,CAAC;AAEF,iBAAS,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAChC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,mBAAmB,CAAC,EAAE,WAAW,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,WAAW,CAAC;QACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,WAAW,CAAC;QACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gCAAgC,CAAC,EAAE,MAAM,CAAC;KAC3C,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAoCD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,oBAAoB,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAI/F,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/B,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B"}