@eqproject/eqp-attachments 3.0.1 → 3.0.2

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 (27) hide show
  1. package/esm2022/lib/directives/eqp-common/dynamic-loader/dynamic-loader.directive.mjs +53 -0
  2. package/esm2022/lib/directives/eqp-common/eqp-common.service.mjs +78 -0
  3. package/esm2022/lib/directives/eqp-common/index.mjs +10 -0
  4. package/esm2022/lib/directives/eqp-common/models/base-field.model.mjs +57 -0
  5. package/esm2022/lib/directives/eqp-common/models/common-enum.model.mjs +8 -0
  6. package/esm2022/lib/directives/eqp-common/models/config-column.model.mjs +116 -0
  7. package/esm2022/lib/directives/eqp-common/models/filterConfig.model.mjs +318 -0
  8. package/esm2022/lib/directives/eqp-common/models/filterField.model.mjs +254 -0
  9. package/esm2022/lib/directives/eqp-common/models/form.model.mjs +168 -0
  10. package/esm2022/lib/directives/eqp-common/models/linqFilterResult.model.mjs +73 -0
  11. package/esm2022/lib/directives/eqp-common/models/tableColumn-field.model.mjs +107 -0
  12. package/esm2022/lib/eqp-attachments.component.mjs +5 -5
  13. package/fesm2022/eqproject-eqp-attachments.mjs +1170 -5
  14. package/fesm2022/eqproject-eqp-attachments.mjs.map +1 -1
  15. package/lib/directives/eqp-common/dynamic-loader/dynamic-loader.directive.d.ts +17 -0
  16. package/lib/directives/eqp-common/eqp-common.service.d.ts +21 -0
  17. package/lib/directives/eqp-common/index.d.ts +9 -0
  18. package/lib/directives/eqp-common/models/base-field.model.d.ts +52 -0
  19. package/lib/directives/eqp-common/models/common-enum.model.d.ts +6 -0
  20. package/lib/directives/eqp-common/models/config-column.model.d.ts +113 -0
  21. package/lib/directives/eqp-common/models/filterConfig.model.d.ts +264 -0
  22. package/lib/directives/eqp-common/models/filterField.model.d.ts +144 -0
  23. package/lib/directives/eqp-common/models/form.model.d.ts +129 -0
  24. package/lib/directives/eqp-common/models/linqFilterResult.model.d.ts +58 -0
  25. package/lib/directives/eqp-common/models/tableColumn-field.model.d.ts +31 -0
  26. package/lib/eqp-attachments.component.d.ts +3 -3
  27. package/package.json +2 -3
@@ -0,0 +1,254 @@
1
+ import { FilterConfig, InputType, WherePartType } from './filterConfig.model';
2
+ import { BaseFieldModel, BaseType } from './base-field.model';
3
+ import { FieldSizeClass } from './common-enum.model';
4
+ export class FilterField extends BaseFieldModel {
5
+ constructor(filterID, fieldClass, label, propertyName, propertyValue, inputType, wherePartType, cvlConfig, preventRemoval) {
6
+ super();
7
+ this.filterID = filterID;
8
+ if (fieldClass)
9
+ this.fieldSizeClass = fieldClass;
10
+ this.display = label;
11
+ this.key = propertyName;
12
+ this.value = propertyValue;
13
+ this.inputType = inputType;
14
+ this.wherePartType = wherePartType;
15
+ this.preventRemoval = preventRemoval;
16
+ this.arrayData = cvlConfig?.ArrayData;
17
+ this.arrayKeyProperty = cvlConfig?.ArrayKeyProperty;
18
+ this.arrayValueProperty = cvlConfig?.ArrayValueProperty;
19
+ this.isEnumSearchable = cvlConfig?.IsSearchable;
20
+ this.showEnumCancelButton = cvlConfig?.ShowCancelButton;
21
+ this.enumSearchText = cvlConfig?.SearchText;
22
+ this.isEnumMultiSelect = cvlConfig?.IsMultiSelect;
23
+ this.bindLookupFullObject = cvlConfig?.BindFullObject;
24
+ this.placeholder = label;
25
+ }
26
+ /**
27
+ * Identificativo univoco del filtro
28
+ */
29
+ filterID;
30
+ /**
31
+ * Permette di definire la classe css da applicare
32
+ * al filtro
33
+ */
34
+ fieldSizeClass = FieldSizeClass.SMALL;
35
+ /**
36
+ *
37
+ */
38
+ customFieldSizeClasses;
39
+ /**
40
+ * Definisce il tipo di filtro da applicare (valori ammessi in base all'enumeratore InputType)
41
+ */
42
+ inputType;
43
+ /**
44
+ * Definisce il tipo di operatore logico da utilizzare per la where part
45
+ */
46
+ wherePartType;
47
+ /**
48
+ * Se il filtro è di tipo CVL o CVLEnum allora in questa proprietà ci va definita la configurazione della cvl.
49
+ * La cvl verrà renderizzata con una eqp-select
50
+ */
51
+ cvlConfig;
52
+ /**
53
+ * Permette di disabilitare la cancellazione del filtro all'utente.
54
+ * Di default assume il valore FALSE (se true allora nel riepilogo dei filtri applicati non sarà mostrato il pulsante X)
55
+ */
56
+ preventRemoval = false;
57
+ /**
58
+ * Definisce il placeholder che verrà utilizzato nel campo del singolo filtro
59
+ */
60
+ placeholder;
61
+ /**
62
+ * Permette di definire il template esterno da renderizzare come filtro.
63
+ */
64
+ externalTemplate;
65
+ /**
66
+ * Permette di definire una funzione custom esterna da richiamare per il filtro corrente quando vengono premuti i pulsanti APPLICA FILTRI
67
+ * o RESET
68
+ */
69
+ customWherePartFunction;
70
+ /**
71
+ * Permette di definire la funzione custom per restituire il valore del filtro applicato, da mostrare nell'header della card
72
+ *
73
+ */
74
+ customAppliedFilterInfoFunction;
75
+ /**
76
+ * Per i filtri di tipo ContainsElement e NotContainsElement che si basano sull'applicazione di una where part con l'operatore
77
+ * Linq ANY allora questa proprietà permette di definire il nome della proprietà degli oggetti figli su cui applicare la where part.
78
+ * In questo caso dentro PropertyName ci andrà il nome della proprietà contenente la lista di child.
79
+ *
80
+ * (Es: PropertyName = 'Users' e ChildElementPropertyName = 'Role' per filtrare i record che contengono una lista di utenti con uno specifico)
81
+ */
82
+ childElementPropertyName;
83
+ static createStandardFilterConfig(filterID, label, propertyName, type, wherePartType, filterClass, filterCvlConfig, externaltemplate, customWherePartFunction, childElementPropertyName, filterValue, preventRemoval) {
84
+ let filter = new FilterField(filterID, filterClass, label, propertyName, null, type, wherePartType, filterCvlConfig, preventRemoval);
85
+ if (externaltemplate)
86
+ filter.externalTemplate = externaltemplate;
87
+ if (customWherePartFunction)
88
+ filter.customWherePartFunction = customWherePartFunction;
89
+ if (childElementPropertyName)
90
+ filter.childElementPropertyName = childElementPropertyName;
91
+ if (filterValue)
92
+ filter.value = filterValue;
93
+ return filter;
94
+ }
95
+ /**
96
+ * Se la CVL si basa su un enumeratore allora in questa proprietà va definito il type dell'enumeratore da usare.
97
+ * In questo modo la sorgente dati della CVL sarà l'insieme dei valori definiti per l'enumeratore
98
+ */
99
+ // public enumData?: any;
100
+ /**
101
+ * Se la CVL si basa su un array allora in questa proprietà va definito l'array da mostrare come sorgente dati della CVL
102
+ */
103
+ arrayData;
104
+ /**
105
+ * Nel caso di ArrayData definito permette di indicare la proprietà degli oggetti dell'array da bindare al filtro
106
+ */
107
+ arrayKeyProperty;
108
+ /**
109
+ * Nel caso di ArrayData definito permette di indicare la proprietà degli oggetti da visualizzare nel filtro
110
+ */
111
+ arrayValueProperty;
112
+ /**
113
+ * Se TRUE allora mostra il campo di ricerca all'interno della CVL (default: TRUE)
114
+ */
115
+ isEnumSearchable = false;
116
+ /**
117
+ * Se TRUE allora mostra il pulsante per pulire la selezione della CVL (default: TRUE)
118
+ */
119
+ showEnumCancelButton = true;
120
+ /**
121
+ * Permette di definire l'etichetta per il campo di ricerca della CVL (default: 'Cerca')
122
+ */
123
+ enumSearchText = "Cerca";
124
+ /**
125
+ * Permette di definire la multi selezione dei valori della CVL (default: false)
126
+ */
127
+ isEnumMultiSelect = false;
128
+ /**
129
+ * Se TRUE allora mostra il campo di ricerca all'interno della lookup (default: TRUE)
130
+ */
131
+ isLookupSearchable = false;
132
+ /**
133
+ * Se TRUE allora mostra il pulsante per pulire la selezione della lookup (default: TRUE)
134
+ */
135
+ showLookupCancelButton = true;
136
+ /**
137
+ * Permette di definire l'etichetta per il campo di ricerca della Lookup (default: 'Cerca')
138
+ */
139
+ lookupSearchText = "Cerca";
140
+ /**
141
+ * Permette di definire la multi selezione dei valori della lookup (default: false)
142
+ */
143
+ isLookupMultiple = false;
144
+ /**
145
+ * Permette di definire se nella lookup il binding deve considerare tutto l'oggetto
146
+ * (default: true)
147
+ */
148
+ bindLookupFullObject = true;
149
+ /**
150
+ * Permette di definire l'entità della lookup
151
+ */
152
+ lookupEntityType = null;
153
+ /**
154
+ * Permette di definire l'url per effettuare la chiamata che popola la lookup
155
+ */
156
+ lookupFullUrlHttpCall = null;
157
+ /**
158
+ * Permette di definire (in maniera opzionale) gli eventuali predicati standard da applicare nel recuperare gli item per la lookup
159
+ */
160
+ dataFilter = null;
161
+ /**
162
+ * Permette di definire un oggetto contenente la funzione di validazione e la label del suggerimento per validare il campo del filtro
163
+ */
164
+ validationProperties;
165
+ static createFilterFields(baseFields) {
166
+ if (Array.isArray(baseFields)) {
167
+ const filterFields = [];
168
+ baseFields.forEach(field => {
169
+ filterFields.push(this.createFilterField(field));
170
+ });
171
+ return filterFields;
172
+ }
173
+ else {
174
+ return this.createFilterField(baseFields);
175
+ }
176
+ }
177
+ static createFilterField(baseField) {
178
+ const filterField = new FilterField();
179
+ filterField.filterID = baseField.key + "_ID";
180
+ filterField.key = baseField.key;
181
+ filterField.display = baseField.display;
182
+ filterField.value = baseField.value;
183
+ filterField.enumModel = baseField.enumModel;
184
+ filterField.inputType = BaseTypeConverterFilter.convertToInputType(baseField.baseType);
185
+ filterField.wherePartType = WherePartType.Equal;
186
+ filterField.baseType = null;
187
+ return filterField;
188
+ }
189
+ static createFilterConfigs(filterFields) {
190
+ if (Array.isArray(filterFields)) {
191
+ const filterConfigs = [];
192
+ filterFields.forEach(field => {
193
+ filterConfigs.push(this.createFilterConfig(field));
194
+ });
195
+ return filterConfigs;
196
+ }
197
+ else {
198
+ return this.createFilterConfig(filterFields);
199
+ }
200
+ }
201
+ static createFilterConfig(filterField) {
202
+ const filterConfig = new FilterConfig();
203
+ filterConfig.FilterID = filterField.filterID ?? (filterField.key + "_ID");
204
+ filterConfig.PropertyName = filterField.key;
205
+ filterConfig.Label = filterField.display;
206
+ filterConfig.PropertyObject = filterField.value;
207
+ filterConfig.EnumData = filterField.enumModel;
208
+ filterConfig.Externaltemplate = filterField.externalTemplate;
209
+ filterConfig.ArrayData = filterField.arrayData;
210
+ filterConfig.ArrayKeyProperty = filterField.arrayKeyProperty;
211
+ filterConfig.ArrayValueProperty = filterField.arrayValueProperty;
212
+ filterConfig.BindLookupFullObject = filterField.bindLookupFullObject;
213
+ filterConfig.ChildElementPropertyName = filterField.childElementPropertyName;
214
+ filterConfig.CustomAppliedFilterInfoFunction = filterField.customAppliedFilterInfoFunction;
215
+ filterConfig.CustomFilterClasses = filterField.customFieldSizeClasses;
216
+ filterConfig.CustomWherePartFunction = filterField.customWherePartFunction;
217
+ filterConfig.CvlConfig = filterField.cvlConfig;
218
+ filterConfig.EnumSearchText = filterField.enumSearchText;
219
+ filterConfig.FilterClass = filterField.fieldSizeClass;
220
+ filterConfig.IsEnumMultiSelect = filterField.isEnumMultiSelect;
221
+ filterConfig.IsEnumSearchable = filterField.isEnumSearchable;
222
+ filterConfig.IsLookupMultiple = filterField.isLookupMultiple;
223
+ filterConfig.LookupEntityType = filterField.lookupEntityType;
224
+ filterConfig.LookupFullUrlHttpCall = filterField.lookupEntityType;
225
+ filterConfig.LookupSearchText = filterField.lookupSearchText;
226
+ filterConfig.DataFilter = filterField.dataFilter;
227
+ filterConfig.PreventRemoval = filterField.preventRemoval;
228
+ filterConfig.ShowEnumCancelButton = filterField.showEnumCancelButton;
229
+ filterConfig.ShowLookupCancelButton = filterField.showLookupCancelButton;
230
+ filterConfig.ValidationProperties = filterField.validationProperties;
231
+ filterConfig.InputType = filterField.inputType ?? InputType.Text;
232
+ filterConfig.WherePartType = filterField.wherePartType ?? WherePartType.Equal;
233
+ return filterConfig;
234
+ }
235
+ }
236
+ export class BaseTypeConverterFilter {
237
+ static convertToInputType(baseType) {
238
+ switch (baseType) {
239
+ case BaseType.Text:
240
+ return InputType.Text;
241
+ case BaseType.Number:
242
+ return InputType.Number;
243
+ case BaseType.Date:
244
+ return InputType.Date;
245
+ case BaseType.Enum:
246
+ return InputType.CvlEnum;
247
+ case BaseType.Boolean:
248
+ return InputType.Boolean;
249
+ default:
250
+ return undefined;
251
+ }
252
+ }
253
+ }
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyRmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtYXR0YWNobWVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2VxcC1jb21tb24vbW9kZWxzL2ZpbHRlckZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQW9DLFNBQVMsRUFBb0IsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEksT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsTUFBTSxPQUFPLFdBQVksU0FBUSxjQUFjO0lBQzdDLFlBQVksUUFBaUIsRUFDM0IsVUFBMkIsRUFDM0IsS0FBYyxFQUNkLFlBQXFCLEVBQ3JCLGFBQW1CLEVBQ25CLFNBQXFCLEVBQ3JCLGFBQTZCLEVBQzdCLFNBQTJCLEVBQzNCLGNBQXdCO1FBRXhCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxVQUFVO1lBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7UUFFakQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxT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WSxDQUFDLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRSxZQUFZLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztRQUNqRSxZQUFZLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQztRQUU5RSxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFrQjtRQUMxQyxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDeEIsS0FBSyxRQUFRLENBQUMsTUFBTTtnQkFDbEIsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQzFCLEtBQUssUUFBUSxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0IsS0FBSyxRQUFRLENBQUMsT0FBTztnQkFDbkIsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzNCO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEZpbHRlckNvbmZpZywgRmlsdGVyQ3ZsQ29uZmlnLCBGaWx0ZXJTaXplQ2xhc3MsIElucHV0VHlwZSwgVmFsaWRhdGlvbk9iamVjdCwgV2hlcmVQYXJ0VHlwZSB9IGZyb20gJy4vZmlsdGVyQ29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGlucVByZWRpY2F0ZURUTyB9IGZyb20gJy4vbGlucUZpbHRlclJlc3VsdC5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZE1vZGVsLCBCYXNlVHlwZSB9IGZyb20gJy4vYmFzZS1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZpZWxkU2l6ZUNsYXNzIH0gZnJvbSAnLi9jb21tb24tZW51bS5tb2RlbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsdGVyRmllbGQgZXh0ZW5kcyBCYXNlRmllbGRNb2RlbCB7XHJcbiAgY29uc3RydWN0b3IoZmlsdGVySUQ/OiBzdHJpbmcsXHJcbiAgICBmaWVsZENsYXNzPzogRmllbGRTaXplQ2xhc3MsXHJcbiAgICBsYWJlbD86IHN0cmluZyxcclxuICAgIHByb3BlcnR5TmFtZT86IHN0cmluZyxcclxuICAgIHByb3BlcnR5VmFsdWU/OiBhbnksXHJcbiAgICBpbnB1dFR5cGU/OiBJbnB1dFR5cGUsXHJcbiAgICB3aGVyZVBhcnRUeXBlPzogV2hlcmVQYXJ0VHlwZSxcclxuICAgIGN2bENvbmZpZz86IEZpbHRlckN2bENvbmZpZyxcclxuICAgIHByZXZlbnRSZW1vdmFsPzogYm9vbGVhbikge1xyXG5cclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmZpbHRlcklEID0gZmlsdGVySUQ7XHJcbiAgICBpZiAoZmllbGRDbGFzcykgdGhpcy5maWVsZFNpemVDbGFzcyA9IGZpZWxkQ2xhc3M7XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ID0gbGFiZWw7XHJcbiAgICB0aGlzLmtleSA9IHByb3BlcnR5TmFtZTtcclxuICAgIHRoaXMudmFsdWUgPSBwcm9wZXJ0eVZhbHVlO1xyXG4gICAgdGhpcy5pbnB1dFR5cGUgPSBpbnB1dFR5cGU7XHJcbiAgICB0aGlzLndoZXJlUGFydFR5cGUgPSB3aGVyZVBhcnRUeXBlO1xyXG4gICAgdGhpcy5wcmV2ZW50UmVtb3ZhbCA9IHByZXZlbnRSZW1vdmFsO1xyXG4gICAgdGhpcy5hcnJheURhdGEgPSBjdmxDb25maWc/LkFycmF5RGF0YTtcclxuICAgIHRoaXMuYXJyYXlLZXlQcm9wZXJ0eSA9IGN2bENvbmZpZz8uQXJyYXlLZXlQcm9wZXJ0eTtcclxuICAgIHRoaXMuYXJyYXlWYWx1ZVByb3BlcnR5ID0gY3ZsQ29uZmlnPy5BcnJheVZhbHVlUHJvcGVydHk7XHJcbiAgICB0aGlzLmlzRW51bVNlYXJjaGFibGUgPSBjdmxDb25maWc/LklzU2VhcmNoYWJsZTtcclxuICAgIHRoaXMuc2hvd0VudW1DYW5jZWxCdXR0b24gPSBjdmxDb25maWc/LlNob3dDYW5jZWxCdXR0b247XHJcbiAgICB0aGlzLmVudW1TZWFyY2hUZXh0ID0gY3ZsQ29uZmlnPy5TZWFyY2hUZXh0O1xyXG4gICAgdGhpcy5pc0VudW1NdWx0aVNlbGVjdCA9IGN2bENvbmZpZz8uSXNNdWx0aVNlbGVjdDtcclxuICAgIHRoaXMuYmluZExvb2t1cEZ1bGxPYmplY3QgPSBjdmxDb25maWc/LkJpbmRGdWxsT2JqZWN0O1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWRlbnRpZmljYXRpdm8gdW5pdm9jbyBkZWwgZmlsdHJvXHJcbiAgICovXHJcbiAgcHVibGljIGZpbHRlcklEOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcm1ldHRlIGRpIGRlZmluaXJlIGxhIGNsYXNzZSBjc3MgZGEgYXBwbGljYXJlXHJcbiAgICogYWwgZmlsdHJvXHJcbiAgICovXHJcbiAgcHVibGljIGZpZWxkU2l6ZUNsYXNzPzogRmllbGRTaXplQ2xhc3MgPSBGaWVsZFNpemVDbGFzcy5TTUFMTDtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBwdWJsaWMgY3VzdG9tRmllbGRTaXplQ2xhc3Nlcz86IHN0cmluZztcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaXNjZSBpbCB0aXBvIGRpIGZpbHRybyBkYSBhcHBsaWNhcmUgKHZhbG9yaSBhbW1lc3NpIGluIGJhc2UgYWxsJ2VudW1lcmF0b3JlIElucHV0VHlwZSlcclxuICAgKi9cclxuICBwdWJsaWMgaW5wdXRUeXBlPzogSW5wdXRUeXBlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmlzY2UgaWwgdGlwbyBkaSBvcGVyYXRvcmUgbG9naWNvIGRhIHV0aWxpenphcmUgcGVyIGxhIHdoZXJlIHBhcnRcclxuICAgKi9cclxuICBwdWJsaWMgd2hlcmVQYXJ0VHlwZT86IFdoZXJlUGFydFR5cGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIGlsIGZpbHRybyDDqCBkaSB0aXBvIENWTCBvIENWTEVudW0gYWxsb3JhIGluIHF1ZXN0YSBwcm9wcmlldMOgIGNpIHZhIGRlZmluaXRhIGxhIGNvbmZpZ3VyYXppb25lIGRlbGxhIGN2bC5cclxuICAgKiBMYSBjdmwgdmVycsOgIHJlbmRlcml6emF0YSBjb24gdW5hIGVxcC1zZWxlY3RcclxuICAgKi9cclxuICBwdWJsaWMgY3ZsQ29uZmlnPzogRmlsdGVyQ3ZsQ29uZmlnO1xyXG5cclxuICAvKipcclxuICAgKiBQZXJtZXR0ZSBkaSBkaXNhYmlsaXRhcmUgbGEgY2FuY2VsbGF6aW9uZSBkZWwgZmlsdHJvIGFsbCd1dGVudGUuXHJcbiAgICogRGkgZGVmYXVsdCBhc3N1bWUgaWwgdmFsb3JlIEZBTFNFIChzZSB0cnVlIGFsbG9yYSBuZWwgcmllcGlsb2dvIGRlaSBmaWx0cmkgYXBwbGljYXRpIG5vbiBzYXLDoCBtb3N0cmF0byBpbCBwdWxzYW50ZSBYKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBwcmV2ZW50UmVtb3ZhbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pc2NlIGlsIHBsYWNlaG9sZGVyIGNoZSB2ZXJyw6AgdXRpbGl6emF0byBuZWwgY2FtcG8gZGVsIHNpbmdvbG8gZmlsdHJvXHJcbiAgICovXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBQZXJtZXR0ZSBkaSBkZWZpbmlyZSBpbCB0ZW1wbGF0ZSBlc3Rlcm5vIGRhIHJlbmRlcml6emFyZSBjb21lIGZpbHRyby5cclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZXJuYWxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcm1ldHRlIGRpIGRlZmluaXJlIHVuYSBmdW56aW9uZSBjdXN0b20gZXN0ZXJuYSBkYSByaWNoaWFtYXJlIHBlciBpbCBmaWx0cm8gY29ycmVudGUgcXVhbmRvIHZlbmdvbm8gcHJlbXV0aSBpIHB1bHNhbnRpIEFQUExJQ0EgRklMVFJJXHJcbiAgICogbyBSRVNFVFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjdXN0b21XaGVyZVBhcnRGdW5jdGlvbj86IChmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZywgaXNSZXNldEFsbD86IGJvb2xlYW4sIGlzUmVtb3ZlRmlsdGVyPzogYm9vbGVhbikgPT4gYW55O1xyXG5cclxuICAvKipcclxuICAgKiBQZXJtZXR0ZSBkaSBkZWZpbmlyZSBsYSBmdW56aW9uZSBjdXN0b20gcGVyIHJlc3RpdHVpcmUgaWwgdmFsb3JlIGRlbCBmaWx0cm8gYXBwbGljYXRvLCBkYSBtb3N0cmFyZSBuZWxsJ2hlYWRlciBkZWxsYSBjYXJkXHJcbiAgICpcclxuICAgKi9cclxuICBwdWJsaWMgY3VzdG9tQXBwbGllZEZpbHRlckluZm9GdW5jdGlvbj86IChcclxuICAgIGZpbHRlckNvbmZpZzogRmlsdGVyQ29uZmlnLFxyXG4gICAgaXNSZXNldEFsbD86IGJvb2xlYW4sXHJcbiAgICBpc1JlbW92ZUZpbHRlcj86IGJvb2xlYW5cclxuICApID0+IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVyIGkgZmlsdHJpIGRpIHRpcG8gQ29udGFpbnNFbGVtZW50IGUgTm90Q29udGFpbnNFbGVtZW50IGNoZSBzaSBiYXNhbm8gc3VsbCdhcHBsaWNhemlvbmUgZGkgdW5hIHdoZXJlIHBhcnQgY29uIGwnb3BlcmF0b3JlXHJcbiAgICogTGlucSBBTlkgYWxsb3JhIHF1ZXN0YSBwcm9wcmlldMOgIHBlcm1ldHRlIGRpIGRlZmluaXJlIGlsIG5vbWUgZGVsbGEgcHJvcHJpZXTDoCBkZWdsaSBvZ2dldHRpIGZpZ2xpIHN1IGN1aSBhcHBsaWNhcmUgbGEgd2hlcmUgcGFydC5cclxuICAgKiBJbiBxdWVzdG8gY2FzbyBkZW50cm8gUHJvcGVydHlOYW1lIGNpIGFuZHLDoCBpbCBub21lIGRlbGxhIHByb3ByaWV0w6AgY29udGVuZW50ZSBsYSBsaXN0YSBkaSBjaGlsZC5cclxuICAgKlxyXG4gICAqIChFczogUHJvcGVydHlOYW1lID0gJ1VzZXJzJyBlIENoaWxkRWxlbWVudFByb3BlcnR5TmFtZSA9ICdSb2xlJyBwZXIgZmlsdHJhcmUgaSByZWNvcmQgY2hlIGNvbnRlbmdvbm8gdW5hIGxpc3RhIGRpIHV0ZW50aSBjb24gdW5vIHNwZWNpZmljbylcclxuICAgKi9cclxuICBwdWJsaWMgY2hpbGRFbGVtZW50UHJvcGVydHlOYW1lPzogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZVN0YW5kYXJkRmlsdGVyQ29uZmlnKFxyXG4gICAgZmlsdGVySUQ6IHN0cmluZyxcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcclxuICAgIHR5cGU6IElucHV0VHlwZSxcclxuICAgIHdoZXJlUGFydFR5cGU6IFdoZXJlUGFydFR5cGUsXHJcbiAgICBmaWx0ZXJDbGFzcz86IEZpZWxkU2l6ZUNsYXNzLFxyXG4gICAgZmlsdGVyQ3ZsQ29uZmlnPzogRmlsdGVyQ3ZsQ29uZmlnLFxyXG4gICAgZXh0ZXJuYWx0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICBjdXN0b21XaGVyZVBhcnRGdW5jdGlvbj86IChmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZywgaXNSZXNldEFsbD86IGJvb2xlYW4sIGlzUmVtb3ZlRmlsdGVyPzogYm9vbGVhbikgPT4gYW55LFxyXG4gICAgY2hpbGRFbGVtZW50UHJvcGVydHlOYW1lPzogc3RyaW5nLFxyXG4gICAgZmlsdGVyVmFsdWU/OiBhbnksXHJcbiAgICBwcmV2ZW50UmVtb3ZhbD86IGJvb2xlYW5cclxuICApOiBGaWx0ZXJGaWVsZCB7XHJcbiAgICBsZXQgZmlsdGVyOiBGaWx0ZXJGaWVsZCA9IG5ldyBGaWx0ZXJGaWVsZChcclxuICAgICAgZmlsdGVySUQsXHJcbiAgICAgIGZpbHRlckNsYXNzLFxyXG4gICAgICBsYWJlbCxcclxuICAgICAgcHJvcGVydHlOYW1lLFxyXG4gICAgICBudWxsLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB3aGVyZVBhcnRUeXBlLFxyXG4gICAgICBmaWx0ZXJDdmxDb25maWcsXHJcbiAgICAgIHByZXZlbnRSZW1vdmFsXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChleHRlcm5hbHRlbXBsYXRlKSBmaWx0ZXIuZXh0ZXJuYWxUZW1wbGF0ZSA9IGV4dGVybmFsdGVtcGxhdGU7XHJcblxyXG4gICAgaWYgKGN1c3RvbVdoZXJlUGFydEZ1bmN0aW9uKSBmaWx0ZXIuY3VzdG9tV2hlcmVQYXJ0RnVuY3Rpb24gPSBjdXN0b21XaGVyZVBhcnRGdW5jdGlvbjtcclxuXHJcbiAgICBpZiAoY2hpbGRFbGVtZW50UHJvcGVydHlOYW1lKSBmaWx0ZXIuY2hpbGRFbGVtZW50UHJvcGVydHlOYW1lID0gY2hpbGRFbGVtZW50UHJvcGVydHlOYW1lO1xyXG5cclxuICAgIGlmIChmaWx0ZXJWYWx1ZSkgZmlsdGVyLnZhbHVlID0gZmlsdGVyVmFsdWU7XHJcblxyXG4gICAgcmV0dXJuIGZpbHRlcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIGxhIENWTCBzaSBiYXNhIHN1IHVuIGVudW1lcmF0b3JlIGFsbG9yYSBpbiBxdWVzdGEgcHJvcHJpZXTDoCB2YSBkZWZpbml0byBpbCB0eXBlIGRlbGwnZW51bWVyYXRvcmUgZGEgdXNhcmUuXHJcbiAgICogSW4gcXVlc3RvIG1vZG8gbGEgc29yZ2VudGUgZGF0aSBkZWxsYSBDVkwgc2Fyw6AgbCdpbnNpZW1lIGRlaSB2YWxvcmkgZGVmaW5pdGkgcGVyIGwnZW51bWVyYXRvcmVcclxuICAgKi9cclxuICAvLyBwdWJsaWMgZW51bURhdGE/OiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIGxhIENWTCBzaSBiYXNhIHN1IHVuIGFycmF5IGFsbG9yYSBpbiBxdWVzdGEgcHJvcHJpZXTDoCB2YSBkZWZpbml0byBsJ2FycmF5IGRhIG1vc3RyYXJlIGNvbWUgc29yZ2VudGUgZGF0aSBkZWxsYSBDVkxcclxuICAgKi9cclxuICBwdWJsaWMgYXJyYXlEYXRhPzogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBOZWwgY2FzbyBkaSBBcnJheURhdGEgZGVmaW5pdG8gcGVybWV0dGUgZGkgaW5kaWNhcmUgbGEgcHJvcHJpZXTDoCBkZWdsaSBvZ2dldHRpIGRlbGwnYXJyYXkgZGEgYmluZGFyZSBhbCBmaWx0cm9cclxuICAgKi9cclxuICBwdWJsaWMgYXJyYXlLZXlQcm9wZXJ0eT86IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogTmVsIGNhc28gZGkgQXJyYXlEYXRhIGRlZmluaXRvIHBlcm1ldHRlIGRpIGluZGljYXJlIGxhIHByb3ByaWV0w6AgZGVnbGkgb2dnZXR0aSBkYSB2aXN1YWxpenphcmUgbmVsIGZpbHRyb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBhcnJheVZhbHVlUHJvcGVydHk/OiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIFRSVUUgYWxsb3JhIG1vc3RyYSBpbCBjYW1wbyBkaSByaWNlcmNhIGFsbCdpbnRlcm5vIGRlbGxhIENWTCAoZGVmYXVsdDogVFJVRSlcclxuICAgKi9cclxuICBwdWJsaWMgaXNFbnVtU2VhcmNoYWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2UgVFJVRSBhbGxvcmEgbW9zdHJhIGlsIHB1bHNhbnRlIHBlciBwdWxpcmUgbGEgc2VsZXppb25lIGRlbGxhIENWTCAoZGVmYXVsdDogVFJVRSlcclxuICAgKi9cclxuICBwdWJsaWMgc2hvd0VudW1DYW5jZWxCdXR0b24/OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgbCdldGljaGV0dGEgcGVyIGlsIGNhbXBvIGRpIHJpY2VyY2EgZGVsbGEgQ1ZMIChkZWZhdWx0OiAnQ2VyY2EnKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBlbnVtU2VhcmNoVGV4dD86IHN0cmluZyA9IFwiQ2VyY2FcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgbGEgbXVsdGkgc2VsZXppb25lIGRlaSB2YWxvcmkgZGVsbGEgQ1ZMIChkZWZhdWx0OiBmYWxzZSlcclxuICAgKi9cclxuICBwdWJsaWMgaXNFbnVtTXVsdGlTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIFRSVUUgYWxsb3JhIG1vc3RyYSBpbCBjYW1wbyBkaSByaWNlcmNhIGFsbCdpbnRlcm5vIGRlbGxhIGxvb2t1cCAoZGVmYXVsdDogVFJVRSlcclxuICAgKi9cclxuICBwdWJsaWMgaXNMb29rdXBTZWFyY2hhYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZSBUUlVFIGFsbG9yYSBtb3N0cmEgaWwgcHVsc2FudGUgcGVyIHB1bGlyZSBsYSBzZWxlemlvbmUgZGVsbGEgbG9va3VwIChkZWZhdWx0OiBUUlVFKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93TG9va3VwQ2FuY2VsQnV0dG9uPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcm1ldHRlIGRpIGRlZmluaXJlIGwnZXRpY2hldHRhIHBlciBpbCBjYW1wbyBkaSByaWNlcmNhIGRlbGxhIExvb2t1cCAoZGVmYXVsdDogJ0NlcmNhJylcclxuICAgKi9cclxuICBwdWJsaWMgbG9va3VwU2VhcmNoVGV4dD86IHN0cmluZyA9IFwiQ2VyY2FcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgbGEgbXVsdGkgc2VsZXppb25lIGRlaSB2YWxvcmkgZGVsbGEgbG9va3VwIChkZWZhdWx0OiBmYWxzZSlcclxuICAgKi9cclxuICBwdWJsaWMgaXNMb29rdXBNdWx0aXBsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgc2UgbmVsbGEgbG9va3VwIGlsIGJpbmRpbmcgZGV2ZSBjb25zaWRlcmFyZSB0dXR0byBsJ29nZ2V0dG9cclxuICAgKiAoZGVmYXVsdDogdHJ1ZSlcclxuICAgKi9cclxuICBwdWJsaWMgYmluZExvb2t1cEZ1bGxPYmplY3Q/OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgbCdlbnRpdMOgIGRlbGxhIGxvb2t1cFxyXG4gICAqL1xyXG4gIHB1YmxpYyBsb29rdXBFbnRpdHlUeXBlPzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgbCd1cmwgcGVyIGVmZmV0dHVhcmUgbGEgY2hpYW1hdGEgY2hlIHBvcG9sYSBsYSBsb29rdXBcclxuICAgKi9cclxuICBwdWJsaWMgbG9va3VwRnVsbFVybEh0dHBDYWxsPzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgKGluIG1hbmllcmEgb3B6aW9uYWxlKSBnbGkgZXZlbnR1YWxpIHByZWRpY2F0aSBzdGFuZGFyZCBkYSBhcHBsaWNhcmUgbmVsIHJlY3VwZXJhcmUgZ2xpIGl0ZW0gcGVyIGxhIGxvb2t1cFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkYXRhRmlsdGVyPzogQXJyYXk8TGlucVByZWRpY2F0ZURUTz4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgZGVmaW5pcmUgdW4gb2dnZXR0byBjb250ZW5lbnRlIGxhIGZ1bnppb25lIGRpIHZhbGlkYXppb25lIGUgbGEgbGFiZWwgZGVsIHN1Z2dlcmltZW50byBwZXIgdmFsaWRhcmUgaWwgY2FtcG8gZGVsIGZpbHRyb1xyXG4gICAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0aW9uUHJvcGVydGllcz86IFZhbGlkYXRpb25PYmplY3Q7XHJcblxyXG4gIHN0YXRpYyBjcmVhdGVGaWx0ZXJGaWVsZHMoYmFzZUZpZWxkOiBCYXNlRmllbGRNb2RlbCk6IEZpbHRlckZpZWxkO1xyXG4gIHN0YXRpYyBjcmVhdGVGaWx0ZXJGaWVsZHMoYmFzZUZpZWxkczogQmFzZUZpZWxkTW9kZWxbXSk6IEZpbHRlckZpZWxkW107XHJcbiAgc3RhdGljIGNyZWF0ZUZpbHRlckZpZWxkcyhiYXNlRmllbGRzOiBCYXNlRmllbGRNb2RlbCB8IEJhc2VGaWVsZE1vZGVsW10pOiBGaWx0ZXJGaWVsZCB8IEZpbHRlckZpZWxkW10ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYmFzZUZpZWxkcykpIHtcclxuICAgICAgY29uc3QgZmlsdGVyRmllbGRzOiBGaWx0ZXJGaWVsZFtdID0gW107XHJcbiAgICAgIGJhc2VGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgICAgZmlsdGVyRmllbGRzLnB1c2godGhpcy5jcmVhdGVGaWx0ZXJGaWVsZChmaWVsZCkpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGZpbHRlckZpZWxkcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUZpbHRlckZpZWxkKGJhc2VGaWVsZHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlRmlsdGVyRmllbGQoYmFzZUZpZWxkOiBCYXNlRmllbGRNb2RlbCk6IEZpbHRlckZpZWxkIHtcclxuICAgIGNvbnN0IGZpbHRlckZpZWxkOiBGaWx0ZXJGaWVsZCA9IG5ldyBGaWx0ZXJGaWVsZCgpO1xyXG4gICAgZmlsdGVyRmllbGQuZmlsdGVySUQgPSBiYXNlRmllbGQua2V5ICsgXCJfSURcIjtcclxuICAgIGZpbHRlckZpZWxkLmtleSA9IGJhc2VGaWVsZC5rZXk7XHJcbiAgICBmaWx0ZXJGaWVsZC5kaXNwbGF5ID0gYmFzZUZpZWxkLmRpc3BsYXk7XHJcbiAgICBmaWx0ZXJGaWVsZC52YWx1ZSA9IGJhc2VGaWVsZC52YWx1ZTtcclxuICAgIGZpbHRlckZpZWxkLmVudW1Nb2RlbCA9IGJhc2VGaWVsZC5lbnVtTW9kZWw7XHJcbiAgICBmaWx0ZXJGaWVsZC5pbnB1dFR5cGUgPSBCYXNlVHlwZUNvbnZlcnRlckZpbHRlci5jb252ZXJ0VG9JbnB1dFR5cGUoYmFzZUZpZWxkLmJhc2VUeXBlKTtcclxuICAgIGZpbHRlckZpZWxkLndoZXJlUGFydFR5cGUgPSBXaGVyZVBhcnRUeXBlLkVxdWFsO1xyXG4gICAgZmlsdGVyRmllbGQuYmFzZVR5cGUgPSBudWxsO1xyXG5cclxuICAgIHJldHVybiBmaWx0ZXJGaWVsZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlRmlsdGVyQ29uZmlncyhmaWx0ZXJGaWVsZDogRmlsdGVyRmllbGQpOiBGaWx0ZXJDb25maWc7XHJcbiAgcHVibGljIHN0YXRpYyBjcmVhdGVGaWx0ZXJDb25maWdzKGZpbHRlckZpZWxkczogRmlsdGVyRmllbGRbXSk6IEZpbHRlckNvbmZpZ1tdO1xyXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlRmlsdGVyQ29uZmlncyhmaWx0ZXJGaWVsZHM6IEZpbHRlckZpZWxkIHwgRmlsdGVyRmllbGRbXSk6IEZpbHRlckNvbmZpZyB8IEZpbHRlckNvbmZpZ1tdIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlckZpZWxkcykpIHtcclxuICAgICAgY29uc3QgZmlsdGVyQ29uZmlnczogRmlsdGVyQ29uZmlnW10gPSBbXTtcclxuICAgICAgZmlsdGVyRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICAgIGZpbHRlckNvbmZpZ3MucHVzaCh0aGlzLmNyZWF0ZUZpbHRlckNvbmZpZyhmaWVsZCkpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGZpbHRlckNvbmZpZ3M7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVGaWx0ZXJDb25maWcoZmlsdGVyRmllbGRzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUZpbHRlckNvbmZpZyhmaWx0ZXJGaWVsZDogRmlsdGVyRmllbGQpOiBGaWx0ZXJDb25maWcge1xyXG4gICAgY29uc3QgZmlsdGVyQ29uZmlnOiBGaWx0ZXJDb25maWcgPSBuZXcgRmlsdGVyQ29uZmlnKCk7XHJcblxyXG4gICAgZmlsdGVyQ29uZmlnLkZpbHRlcklEID0gZmlsdGVyRmllbGQuZmlsdGVySUQgPz8gKGZpbHRlckZpZWxkLmtleSArIFwiX0lEXCIpO1xyXG4gICAgZmlsdGVyQ29uZmlnLlByb3BlcnR5TmFtZSA9IGZpbHRlckZpZWxkLmtleTtcclxuICAgIGZpbHRlckNvbmZpZy5MYWJlbCA9IGZpbHRlckZpZWxkLmRpc3BsYXk7XHJcbiAgICBmaWx0ZXJDb25maWcuUHJvcGVydHlPYmplY3QgPSBmaWx0ZXJGaWVsZC52YWx1ZTtcclxuICAgIGZpbHRlckNvbmZpZy5FbnVtRGF0YSA9IGZpbHRlckZpZWxkLmVudW1Nb2RlbDtcclxuICAgIGZpbHRlckNvbmZpZy5FeHRlcm5hbHRlbXBsYXRlID0gZmlsdGVyRmllbGQuZXh0ZXJuYWxUZW1wbGF0ZTtcclxuICAgIGZpbHRlckNvbmZpZy5BcnJheURhdGEgPSBmaWx0ZXJGaWVsZC5hcnJheURhdGE7XHJcbiAgICBmaWx0ZXJDb25maWcuQXJyYXlLZXlQcm9wZXJ0eSA9IGZpbHRlckZpZWxkLmFycmF5S2V5UHJvcGVydHk7XHJcbiAgICBmaWx0ZXJDb25maWcuQXJyYXlWYWx1ZVByb3BlcnR5ID0gZmlsdGVyRmllbGQuYXJyYXlWYWx1ZVByb3BlcnR5O1xyXG4gICAgZmlsdGVyQ29uZmlnLkJpbmRMb29rdXBGdWxsT2JqZWN0ID0gZmlsdGVyRmllbGQuYmluZExvb2t1cEZ1bGxPYmplY3Q7XHJcbiAgICBmaWx0ZXJDb25maWcuQ2hpbGRFbGVtZW50UHJvcGVydHlOYW1lID0gZmlsdGVyRmllbGQuY2hpbGRFbGVtZW50UHJvcGVydHlOYW1lO1xyXG4gICAgZmlsdGVyQ29uZmlnLkN1c3RvbUFwcGxpZWRGaWx0ZXJJbmZvRnVuY3Rpb24gPSBmaWx0ZXJGaWVsZC5jdXN0b21BcHBsaWVkRmlsdGVySW5mb0Z1bmN0aW9uO1xyXG4gICAgZmlsdGVyQ29uZmlnLkN1c3RvbUZpbHRlckNsYXNzZXMgPSBmaWx0ZXJGaWVsZC5jdXN0b21GaWVsZFNpemVDbGFzc2VzO1xyXG4gICAgZmlsdGVyQ29uZmlnLkN1c3RvbVdoZXJlUGFydEZ1bmN0aW9uID0gZmlsdGVyRmllbGQuY3VzdG9tV2hlcmVQYXJ0RnVuY3Rpb247XHJcbiAgICBmaWx0ZXJDb25maWcuQ3ZsQ29uZmlnID0gZmlsdGVyRmllbGQuY3ZsQ29uZmlnO1xyXG4gICAgZmlsdGVyQ29uZmlnLkVudW1TZWFyY2hUZXh0ID0gZmlsdGVyRmllbGQuZW51bVNlYXJjaFRleHQ7XHJcbiAgICBmaWx0ZXJDb25maWcuRmlsdGVyQ2xhc3MgPSBmaWx0ZXJGaWVsZC5maWVsZFNpemVDbGFzcyBhcyB1bmtub3duIGFzIEZpbHRlclNpemVDbGFzcztcclxuICAgIGZpbHRlckNvbmZpZy5Jc0VudW1NdWx0aVNlbGVjdCA9IGZpbHRlckZpZWxkLmlzRW51bU11bHRpU2VsZWN0O1xyXG4gICAgZmlsdGVyQ29uZmlnLklzRW51bVNlYXJjaGFibGUgPSBmaWx0ZXJGaWVsZC5pc0VudW1TZWFyY2hhYmxlO1xyXG4gICAgZmlsdGVyQ29uZmlnLklzTG9va3VwTXVsdGlwbGUgPSBmaWx0ZXJGaWVsZC5pc0xvb2t1cE11bHRpcGxlO1xyXG4gICAgZmlsdGVyQ29uZmlnLkxvb2t1cEVudGl0eVR5cGUgPSBmaWx0ZXJGaWVsZC5sb29rdXBFbnRpdHlUeXBlO1xyXG4gICAgZmlsdGVyQ29uZmlnLkxvb2t1cEZ1bGxVcmxIdHRwQ2FsbCA9IGZpbHRlckZpZWxkLmxvb2t1cEVudGl0eVR5cGU7XHJcbiAgICBmaWx0ZXJDb25maWcuTG9va3VwU2VhcmNoVGV4dCA9IGZpbHRlckZpZWxkLmxvb2t1cFNlYXJjaFRleHQ7XHJcbiAgICBmaWx0ZXJDb25maWcuRGF0YUZpbHRlciA9IGZpbHRlckZpZWxkLmRhdGFGaWx0ZXI7XHJcbiAgICBmaWx0ZXJDb25maWcuUHJldmVudFJlbW92YWwgPSBmaWx0ZXJGaWVsZC5wcmV2ZW50UmVtb3ZhbDtcclxuICAgIGZpbHRlckNvbmZpZy5TaG93RW51bUNhbmNlbEJ1dHRvbiA9IGZpbHRlckZpZWxkLnNob3dFbnVtQ2FuY2VsQnV0dG9uO1xyXG4gICAgZmlsdGVyQ29uZmlnLlNob3dMb29rdXBDYW5jZWxCdXR0b24gPSBmaWx0ZXJGaWVsZC5zaG93TG9va3VwQ2FuY2VsQnV0dG9uO1xyXG4gICAgZmlsdGVyQ29uZmlnLlZhbGlkYXRpb25Qcm9wZXJ0aWVzID0gZmlsdGVyRmllbGQudmFsaWRhdGlvblByb3BlcnRpZXM7XHJcbiAgICBmaWx0ZXJDb25maWcuSW5wdXRUeXBlID0gZmlsdGVyRmllbGQuaW5wdXRUeXBlID8/IElucHV0VHlwZS5UZXh0O1xyXG4gICAgZmlsdGVyQ29uZmlnLldoZXJlUGFydFR5cGUgPSBmaWx0ZXJGaWVsZC53aGVyZVBhcnRUeXBlID8/IFdoZXJlUGFydFR5cGUuRXF1YWw7XHJcblxyXG4gICAgcmV0dXJuIGZpbHRlckNvbmZpZztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlVHlwZUNvbnZlcnRlckZpbHRlciB7XHJcbiAgc3RhdGljIGNvbnZlcnRUb0lucHV0VHlwZShiYXNlVHlwZTogQmFzZVR5cGUpOiBJbnB1dFR5cGUgfCB1bmRlZmluZWQge1xyXG4gICAgc3dpdGNoIChiYXNlVHlwZSkge1xyXG4gICAgICBjYXNlIEJhc2VUeXBlLlRleHQ6XHJcbiAgICAgICAgcmV0dXJuIElucHV0VHlwZS5UZXh0O1xyXG4gICAgICBjYXNlIEJhc2VUeXBlLk51bWJlcjpcclxuICAgICAgICByZXR1cm4gSW5wdXRUeXBlLk51bWJlcjtcclxuICAgICAgY2FzZSBCYXNlVHlwZS5EYXRlOlxyXG4gICAgICAgIHJldHVybiBJbnB1dFR5cGUuRGF0ZTtcclxuICAgICAgY2FzZSBCYXNlVHlwZS5FbnVtOlxyXG4gICAgICAgIHJldHVybiBJbnB1dFR5cGUuQ3ZsRW51bTtcclxuICAgICAgY2FzZSBCYXNlVHlwZS5Cb29sZWFuOlxyXG4gICAgICAgIHJldHVybiBJbnB1dFR5cGUuQm9vbGVhbjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,168 @@
1
+ import { FieldSizeClass } from "./common-enum.model";
2
+ import { BaseFieldModel, BaseType } from "./base-field.model";
3
+ export class FormField extends BaseFieldModel {
4
+ required = false;
5
+ showInForm = true;
6
+ booleanLabelPosition = BoolLabelPosition.After;
7
+ formFieldType;
8
+ lookupObject;
9
+ selectObject;
10
+ validationProperties;
11
+ placeholder;
12
+ externalTemplate;
13
+ fieldSizeClass = FieldSizeClass.SMALL;
14
+ customFieldSizeClasses;
15
+ dependentFieldKey;
16
+ orderPosition;
17
+ dependentValidation;
18
+ static createFormFields(baseFields) {
19
+ if (Array.isArray(baseFields)) {
20
+ const formFields = [];
21
+ baseFields.forEach(field => {
22
+ formFields.push(this.createFormField(field));
23
+ });
24
+ return formFields;
25
+ }
26
+ else {
27
+ return this.createFormField(baseFields);
28
+ }
29
+ }
30
+ static createFormField(baseField) {
31
+ const formField = new FormField();
32
+ formField.key = baseField.key;
33
+ formField.display = baseField.display;
34
+ formField.value = baseField.value;
35
+ formField.enumModel = baseField.enumModel;
36
+ formField.formFieldType = BaseTypeConverter.convertToFormFieldType(baseField.baseType);
37
+ formField.baseType = null;
38
+ return formField;
39
+ }
40
+ }
41
+ export var FormFieldType;
42
+ (function (FormFieldType) {
43
+ FormFieldType[FormFieldType["Text"] = 1] = "Text";
44
+ FormFieldType[FormFieldType["Number"] = 2] = "Number";
45
+ FormFieldType[FormFieldType["Date"] = 3] = "Date";
46
+ FormFieldType[FormFieldType["Enum"] = 4] = "Enum";
47
+ FormFieldType[FormFieldType["Boolean"] = 5] = "Boolean";
48
+ FormFieldType[FormFieldType["ExternalTemplate"] = 6] = "ExternalTemplate";
49
+ FormFieldType[FormFieldType["Cvl"] = 7] = "Cvl";
50
+ FormFieldType[FormFieldType["Lookup"] = 8] = "Lookup";
51
+ FormFieldType[FormFieldType["DateTime"] = 9] = "DateTime";
52
+ FormFieldType[FormFieldType["DateRange"] = 10] = "DateRange";
53
+ })(FormFieldType || (FormFieldType = {}));
54
+ export var BoolLabelPosition;
55
+ (function (BoolLabelPosition) {
56
+ BoolLabelPosition["Before"] = "before";
57
+ BoolLabelPosition["After"] = "after";
58
+ })(BoolLabelPosition || (BoolLabelPosition = {}));
59
+ export class LookupObject {
60
+ fullUrlHttpCall;
61
+ lookupEntityType;
62
+ showLookupCancelButton = true;
63
+ isLookupSearchable = false;
64
+ isLookupMultiple = false;
65
+ placeholder;
66
+ bindLabel = "Label";
67
+ bindKey = "ID";
68
+ items;
69
+ notFoundText = "Nessun risultato trovato";
70
+ genericAddComponent;
71
+ isMultiple = false;
72
+ isSearchable = true;
73
+ isClearable = true;
74
+ isVirtualScroll = false;
75
+ isReadonly = false;
76
+ isRequired = false;
77
+ isDisabled = false;
78
+ entityType;
79
+ formGroupInput;
80
+ formControlNameInput;
81
+ ngModelInput;
82
+ isSearchWhileComposing = false;
83
+ bindCompleteObject = true;
84
+ appendToInput;
85
+ disableReloadOnLookupAddingCompleteParent = false;
86
+ showOptionTooltip = false;
87
+ sortList = false;
88
+ dataFilter;
89
+ customConfig;
90
+ complexDataFilter;
91
+ initialItems;
92
+ ngModelOptions = null;
93
+ isEditable = false;
94
+ isMultiline = false;
95
+ dropdownPosition = "auto";
96
+ selectOnTab = false;
97
+ addButtonText = "Crea nuovo";
98
+ editButtonText = "Modifica";
99
+ selectAll = false;
100
+ selectAllText = "Seleziona tutto";
101
+ groupBy = "";
102
+ groupValue = () => true;
103
+ groupByProperty;
104
+ selectableGroup = false;
105
+ selectableGroupAsModel = false;
106
+ clearAllText = "Elimina";
107
+ customOption;
108
+ customLabel;
109
+ manipulateDataFn;
110
+ compareFunction = (iteratedObject, bindedObject) => {
111
+ if (iteratedObject == null || bindedObject == null)
112
+ return true;
113
+ const iteratedKeyProperty = iteratedObject.Key != null ? "Key" : this.bindKey;
114
+ const bindedKeyProperty = bindedObject?.Key != null ? "Key" : this.bindKey;
115
+ return iteratedObject[iteratedKeyProperty] === bindedObject ||
116
+ iteratedObject[iteratedKeyProperty] === bindedObject[bindedKeyProperty];
117
+ };
118
+ }
119
+ export class SelectObject {
120
+ isEnumMultiSelect;
121
+ showEnumCancelButton;
122
+ isEnumSearchable;
123
+ enumSearchText;
124
+ arrayData;
125
+ arrayKeyProperty;
126
+ arrayValueProperty;
127
+ enumData;
128
+ enumDataToExclude;
129
+ ngModelOptions;
130
+ ngModelInput;
131
+ isRequired;
132
+ isMultiLanguage;
133
+ multilanguagePrefixKey;
134
+ isAlphabeticalOrderable;
135
+ suffixIcon;
136
+ prefixIcon;
137
+ isReadonly;
138
+ isSearchWhileComposing;
139
+ appendToInput;
140
+ dropdownPosition;
141
+ selectOnTab;
142
+ selectAll;
143
+ selectAllText;
144
+ selectableGroupAsModel;
145
+ clearAllText;
146
+ customOption;
147
+ customLabel;
148
+ class;
149
+ }
150
+ export class BaseTypeConverter {
151
+ static convertToFormFieldType(baseType) {
152
+ switch (baseType) {
153
+ case BaseType.Text:
154
+ return FormFieldType.Text;
155
+ case BaseType.Number:
156
+ return FormFieldType.Number;
157
+ case BaseType.Date:
158
+ return FormFieldType.Date;
159
+ case BaseType.Enum:
160
+ return FormFieldType.Enum;
161
+ case BaseType.Boolean:
162
+ return FormFieldType.Boolean;
163
+ default:
164
+ return undefined;
165
+ }
166
+ }
167
+ }
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1hdHRhY2htZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZXFwLWNvbW1vbi9tb2RlbHMvZm9ybS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU05RCxNQUFNLE9BQU8sU0FBVSxTQUFRLGNBQWM7SUFDM0MsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixVQUFVLEdBQWEsSUFBSSxDQUFDO0lBQzVCLG9CQUFvQixHQUF1QixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDbkUsYUFBYSxDQUFpQjtJQUM5QixZQUFZLENBQWdCO0lBQzVCLFlBQVksQ0FBZ0I7SUFDNUIsb0JBQW9CLENBQW9CO0lBQ3hDLFdBQVcsQ0FBVTtJQUNyQixnQkFBZ0IsQ0FBb0I7SUFDcEMsY0FBYyxHQUFvQixjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3ZELHNCQUFzQixDQUFVO0lBQ2hDLGlCQUFpQixDQUFVO0lBQzNCLGFBQWEsQ0FBVTtJQUN2QixtQkFBbUIsQ0FBMkI7SUFJOUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQTZDO1FBQ25FLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3QixNQUFNLFVBQVUsR0FBZ0IsRUFBRSxDQUFDO1lBQ25DLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxVQUFVLENBQUM7U0FDbkI7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQXlCO1FBQ3RELE1BQU0sU0FBUyxHQUFjLElBQUksU0FBUyxFQUFFLENBQUM7UUFDN0MsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUN0QyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZGLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRTFCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBV1g7QUFYRCxXQUFZLGFBQWE7SUFDdkIsaURBQVEsQ0FBQTtJQUNSLHFEQUFVLENBQUE7SUFDVixpREFBUSxDQUFBO0lBQ1IsaURBQVEsQ0FBQTtJQUNSLHVEQUFXLENBQUE7SUFDWCx5RUFBb0IsQ0FBQTtJQUNwQiwrQ0FBTyxDQUFBO0lBQ1AscURBQVUsQ0FBQTtJQUNWLHlEQUFZLENBQUE7SUFDWiw0REFBYyxDQUFBO0FBQ2hCLENBQUMsRUFYVyxhQUFhLEtBQWIsYUFBYSxRQVd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDM0Isc0NBQWlCLENBQUE7SUFDakIsb0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLGVBQWUsQ0FBUztJQUN4QixnQkFBZ0IsQ0FBUztJQUN6QixzQkFBc0IsR0FBYSxJQUFJLENBQUM7SUFDeEMsa0JBQWtCLEdBQWEsS0FBSyxDQUFDO0lBQ3JDLGdCQUFnQixHQUFhLEtBQUssQ0FBQztJQUNuQyxXQUFXLENBQVU7SUFDckIsU0FBUyxHQUFZLE9BQU8sQ0FBQztJQUM3QixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ3hCLEtBQUssQ0FBcUI7SUFDMUIsWUFBWSxHQUFZLDBCQUEwQixDQUFDO0lBQ25ELG1CQUFtQixDQUE4QjtJQUNqRCxVQUFVLEdBQWEsS0FBSyxDQUFDO0lBQzdCLFlBQVksR0FBYSxJQUFJLENBQUM7SUFDOUIsV0FBVyxHQUFhLElBQUksQ0FBQztJQUM3QixlQUFlLEdBQWEsS0FBSyxDQUFDO0lBQ2xDLFVBQVUsR0FBYSxLQUFLLENBQUM7SUFDN0IsVUFBVSxHQUFhLEtBQUssQ0FBQztJQUM3QixVQUFVLEdBQWEsS0FBSyxDQUFDO0lBQzdCLFVBQVUsQ0FBVTtJQUNwQixjQUFjLENBQU87SUFDckIsb0JBQW9CLENBQU87SUFDM0IsWUFBWSxDQUFPO0lBQ25CLHNCQUFzQixHQUFhLEtBQUssQ0FBQztJQUN6QyxrQkFBa0IsR0FBYSxJQUFJLENBQUM7SUFDcEMsYUFBYSxDQUFVO0lBQ3ZCLHlDQUF5QyxHQUFhLEtBQUssQ0FBQztJQUM1RCxpQkFBaUIsR0FBYSxLQUFLLENBQUM7SUFDcEMsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixVQUFVLENBQWtDO0lBQzVDLFlBQVksQ0FBNkI7SUFDekMsaUJBQWlCLENBQXlDO0lBQzFELFlBQVksQ0FBcUI7SUFDakMsY0FBYyxHQUFTLElBQUksQ0FBQztJQUM1QixVQUFVLEdBQWEsS0FBSyxDQUFDO0lBQzdCLFdBQVcsR0FBYSxLQUFLLENBQUM7SUFDOUIsZ0JBQWdCLEdBQXNCLE1BQU0sQ0FBQztJQUM3QyxXQUFXLEdBQWEsS0FBSyxDQUFDO0lBQzlCLGFBQWEsR0FBWSxZQUFZLENBQUM7SUFDdEMsY0FBYyxHQUFZLFVBQVUsQ0FBQztJQUNyQyxTQUFTLEdBQWEsS0FBSyxDQUFDO0lBQzVCLGFBQWEsR0FBWSxpQkFBaUIsQ0FBQztJQUMzQyxPQUFPLEdBQW9DLEVBQUUsQ0FBQztJQUM5QyxVQUFVLEdBQW1ELEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUN4RSxlQUFlLENBQVU7SUFDekIsZUFBZSxHQUFhLEtBQUssQ0FBQztJQUNsQyxzQkFBc0IsR0FBYSxLQUFLLENBQUM7SUFDekMsWUFBWSxHQUFZLFNBQVMsQ0FBQztJQUNsQyxZQUFZLENBQW9CO0lBQ2hDLFdBQVcsQ0FBb0I7SUFDL0IsZ0JBQWdCLENBQTZDO0lBQzdELGVBQWUsR0FBeUQsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLEVBQUU7UUFDdkcsSUFBSSxjQUFjLElBQUksSUFBSSxJQUFJLFlBQVksSUFBSSxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDaEUsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlFLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzRSxPQUFPLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLFlBQVk7WUFDekQsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEtBQUssWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUUsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixpQkFBaUIsQ0FBVztJQUM1QixvQkFBb0IsQ0FBVztJQUMvQixnQkFBZ0IsQ0FBVztJQUMzQixjQUFjLENBQVU7SUFDeEIsU0FBUyxDQUFPO0lBQ2hCLGdCQUFnQixDQUFVO0lBQzFCLGtCQUFrQixDQUFVO0lBQzVCLFFBQVEsQ0FBTztJQUNmLGlCQUFpQixDQUFjO0lBQy9CLGNBQWMsQ0FBTztJQUNyQixZQUFZLENBQU87SUFDbkIsVUFBVSxDQUFXO0lBQ3JCLGVBQWUsQ0FBVztJQUMxQixzQkFBc0IsQ0FBVTtJQUNoQyx1QkFBdUIsQ0FBVztJQUNsQyxVQUFVLENBQVU7SUFDcEIsVUFBVSxDQUFVO0lBQ3BCLFVBQVUsQ0FBVztJQUNyQixzQkFBc0IsQ0FBVztJQUNqQyxhQUFhLENBQXNCO0lBQ25DLGdCQUFnQixDQUE2QjtJQUM3QyxXQUFXLENBQVc7SUFDdEIsU0FBUyxDQUFXO0lBQ3BCLGFBQWEsQ0FBVTtJQUN2QixzQkFBc0IsQ0FBVztJQUNqQyxZQUFZLENBQVU7SUFDdEIsWUFBWSxDQUFvQjtJQUNoQyxXQUFXLENBQW9CO0lBQy9CLEtBQUssQ0FBVTtDQUNoQjtBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFFBQWtCO1FBQzlDLFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssUUFBUSxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUM1QixLQUFLLFFBQVEsQ0FBQyxNQUFNO2dCQUNsQixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDOUIsS0FBSyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQzVCLEtBQUssUUFBUSxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUM1QixLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNuQixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUM7WUFDL0I7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkU2l6ZUNsYXNzIH0gZnJvbSBcIi4vY29tbW9uLWVudW0ubW9kZWxcIjtcclxuaW1wb3J0IHsgQmFzZUZpZWxkTW9kZWwsIEJhc2VUeXBlIH0gZnJvbSBcIi4vYmFzZS1maWVsZC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uT2JqZWN0IH0gZnJvbSBcIi4vZmlsdGVyQ29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IENvbXBsZXhMaW5xUHJlZGljYXRlRFRPLCBMaW5xUHJlZGljYXRlRFRPLCBMb29rdXBDdXN0b21Db25maWcsIExvb2t1cERUTyB9IGZyb20gXCIuL2xpbnFGaWx0ZXJSZXN1bHQubW9kZWxcIjtcclxuaW1wb3J0IHsgRHJvcGRvd25Qb3NpdGlvbiB9IGZyb20gXCJAbmctc2VsZWN0L25nLXNlbGVjdFwiO1xyXG5pbXBvcnQgeyBEeW5hbWljTG9hZGVyRGlyZWN0aXZlRGF0YSB9IGZyb20gXCIuLi9keW5hbWljLWxvYWRlci9keW5hbWljLWxvYWRlci5kaXJlY3RpdmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGQgZXh0ZW5kcyBCYXNlRmllbGRNb2RlbCB7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0luRm9ybT86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGJvb2xlYW5MYWJlbFBvc2l0aW9uPzogQm9vbExhYmVsUG9zaXRpb24gPSBCb29sTGFiZWxQb3NpdGlvbi5BZnRlcjtcclxuICBmb3JtRmllbGRUeXBlPzogRm9ybUZpZWxkVHlwZTtcclxuICBsb29rdXBPYmplY3Q/OiBMb29rdXBPYmplY3Q7XHJcbiAgc2VsZWN0T2JqZWN0PzogU2VsZWN0T2JqZWN0O1xyXG4gIHZhbGlkYXRpb25Qcm9wZXJ0aWVzPzogVmFsaWRhdGlvbk9iamVjdDtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBleHRlcm5hbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBmaWVsZFNpemVDbGFzcz86IEZpZWxkU2l6ZUNsYXNzID0gRmllbGRTaXplQ2xhc3MuU01BTEw7XHJcbiAgY3VzdG9tRmllbGRTaXplQ2xhc3Nlcz86IHN0cmluZztcclxuICBkZXBlbmRlbnRGaWVsZEtleT86IHN0cmluZztcclxuICBvcmRlclBvc2l0aW9uPzogbnVtYmVyO1xyXG4gIGRlcGVuZGVudFZhbGlkYXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuXHJcbiAgc3RhdGljIGNyZWF0ZUZvcm1GaWVsZHMoYmFzZUZpZWxkOiBCYXNlRmllbGRNb2RlbCk6IEZvcm1GaWVsZDtcclxuICBzdGF0aWMgY3JlYXRlRm9ybUZpZWxkcyhiYXNlRmllbGRzOiBCYXNlRmllbGRNb2RlbFtdKTogRm9ybUZpZWxkW107XHJcbiAgc3RhdGljIGNyZWF0ZUZvcm1GaWVsZHMoYmFzZUZpZWxkczogQmFzZUZpZWxkTW9kZWwgfCBCYXNlRmllbGRNb2RlbFtdKTogRm9ybUZpZWxkIHwgRm9ybUZpZWxkW10ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYmFzZUZpZWxkcykpIHtcclxuICAgICAgY29uc3QgZm9ybUZpZWxkczogRm9ybUZpZWxkW10gPSBbXTtcclxuICAgICAgYmFzZUZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgICBmb3JtRmllbGRzLnB1c2godGhpcy5jcmVhdGVGb3JtRmllbGQoZmllbGQpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBmb3JtRmllbGRzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRm9ybUZpZWxkKGJhc2VGaWVsZHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlRm9ybUZpZWxkKGJhc2VGaWVsZDogQmFzZUZpZWxkTW9kZWwpOiBGb3JtRmllbGQge1xyXG4gICAgY29uc3QgZm9ybUZpZWxkOiBGb3JtRmllbGQgPSBuZXcgRm9ybUZpZWxkKCk7XHJcbiAgICBmb3JtRmllbGQua2V5ID0gYmFzZUZpZWxkLmtleTtcclxuICAgIGZvcm1GaWVsZC5kaXNwbGF5ID0gYmFzZUZpZWxkLmRpc3BsYXk7XHJcbiAgICBmb3JtRmllbGQudmFsdWUgPSBiYXNlRmllbGQudmFsdWU7XHJcbiAgICBmb3JtRmllbGQuZW51bU1vZGVsID0gYmFzZUZpZWxkLmVudW1Nb2RlbDtcclxuICAgIGZvcm1GaWVsZC5mb3JtRmllbGRUeXBlID0gQmFzZVR5cGVDb252ZXJ0ZXIuY29udmVydFRvRm9ybUZpZWxkVHlwZShiYXNlRmllbGQuYmFzZVR5cGUpO1xyXG4gICAgZm9ybUZpZWxkLmJhc2VUeXBlID0gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gZm9ybUZpZWxkO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gRm9ybUZpZWxkVHlwZSB7XHJcbiAgVGV4dCA9IDEsXHJcbiAgTnVtYmVyID0gMixcclxuICBEYXRlID0gMyxcclxuICBFbnVtID0gNCxcclxuICBCb29sZWFuID0gNSxcclxuICBFeHRlcm5hbFRlbXBsYXRlID0gNixcclxuICBDdmwgPSA3LFxyXG4gIExvb2t1cCA9IDgsXHJcbiAgRGF0ZVRpbWUgPSA5LFxyXG4gIERhdGVSYW5nZSA9IDEwXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEJvb2xMYWJlbFBvc2l0aW9uIHtcclxuICBCZWZvcmUgPSAnYmVmb3JlJyxcclxuICBBZnRlciA9ICdhZnRlcidcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvb2t1cE9iamVjdCB7XHJcbiAgZnVsbFVybEh0dHBDYWxsOiBzdHJpbmc7XHJcbiAgbG9va3VwRW50aXR5VHlwZTogc3RyaW5nO1xyXG4gIHNob3dMb29rdXBDYW5jZWxCdXR0b24/OiBib29sZWFuID0gdHJ1ZTtcclxuICBpc0xvb2t1cFNlYXJjaGFibGU/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNMb29rdXBNdWx0aXBsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBiaW5kTGFiZWw/OiBzdHJpbmcgPSBcIkxhYmVsXCI7XHJcbiAgYmluZEtleT86IHN0cmluZyA9IFwiSURcIjtcclxuICBpdGVtcz86IEFycmF5PGFueT4gfCBudWxsO1xyXG4gIG5vdEZvdW5kVGV4dD86IHN0cmluZyA9IFwiTmVzc3VuIHJpc3VsdGF0byB0cm92YXRvXCI7XHJcbiAgZ2VuZXJpY0FkZENvbXBvbmVudD86IER5bmFtaWNMb2FkZXJEaXJlY3RpdmVEYXRhO1xyXG4gIGlzTXVsdGlwbGU/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNTZWFyY2hhYmxlPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgaXNDbGVhcmFibGU/OiBib29sZWFuID0gdHJ1ZTtcclxuICBpc1ZpcnR1YWxTY3JvbGw/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc1JlcXVpcmVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW50aXR5VHlwZT86IHN0cmluZztcclxuICBmb3JtR3JvdXBJbnB1dD86IGFueTtcclxuICBmb3JtQ29udHJvbE5hbWVJbnB1dD86IGFueTtcclxuICBuZ01vZGVsSW5wdXQ/OiBhbnk7XHJcbiAgaXNTZWFyY2hXaGlsZUNvbXBvc2luZz86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBiaW5kQ29tcGxldGVPYmplY3Q/OiBib29sZWFuID0gdHJ1ZTtcclxuICBhcHBlbmRUb0lucHV0Pzogc3RyaW5nO1xyXG4gIGRpc2FibGVSZWxvYWRPbkxvb2t1cEFkZGluZ0NvbXBsZXRlUGFyZW50PzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dPcHRpb25Ub29sdGlwPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNvcnRMaXN0PzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRhdGFGaWx0ZXI/OiBBcnJheTxMaW5xUHJlZGljYXRlRFRPPiB8IG51bGw7XHJcbiAgY3VzdG9tQ29uZmlnPzogTG9va3VwQ3VzdG9tQ29uZmlnIHwgbnVsbDtcclxuICBjb21wbGV4RGF0YUZpbHRlcj86IEFycmF5PENvbXBsZXhMaW5xUHJlZGljYXRlRFRPPiB8IG51bGw7XHJcbiAgaW5pdGlhbEl0ZW1zPzogQXJyYXk8YW55PiB8IG51bGw7XHJcbiAgbmdNb2RlbE9wdGlvbnM/OiBhbnkgPSBudWxsO1xyXG4gIGlzRWRpdGFibGU/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNNdWx0aWxpbmU/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgZHJvcGRvd25Qb3NpdGlvbj86IERyb3Bkb3duUG9zaXRpb24gPSBcImF1dG9cIjtcclxuICBzZWxlY3RPblRhYj86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhZGRCdXR0b25UZXh0Pzogc3RyaW5nID0gXCJDcmVhIG51b3ZvXCI7XHJcbiAgZWRpdEJ1dHRvblRleHQ/OiBzdHJpbmcgPSBcIk1vZGlmaWNhXCI7XHJcbiAgc2VsZWN0QWxsPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmcgPSBcIlNlbGV6aW9uYSB0dXR0b1wiO1xyXG4gIGdyb3VwQnk/OiBzdHJpbmcgfCAoKHZhbHVlOiBhbnkpID0+IGFueSkgPSBcIlwiO1xyXG4gIGdyb3VwVmFsdWU/OiAoZ3JvdXBLZXk6IHN0cmluZywgY2hpbGRyZW46IGFueVtdKSA9PiBPYmplY3QgPSAoKSA9PiB0cnVlO1xyXG4gIGdyb3VwQnlQcm9wZXJ0eT86IHN0cmluZztcclxuICBzZWxlY3RhYmxlR3JvdXA/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0YWJsZUdyb3VwQXNNb2RlbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjbGVhckFsbFRleHQ/OiBzdHJpbmcgPSBcIkVsaW1pbmFcIjtcclxuICBjdXN0b21PcHRpb24/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGN1c3RvbUxhYmVsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBtYW5pcHVsYXRlRGF0YUZuPzogKChpdGVtczogYW55KSA9PiBMb29rdXBEVE9bXSkgfCB1bmRlZmluZWQ7XHJcbiAgY29tcGFyZUZ1bmN0aW9uPzogKGl0ZXJhdGVkT2JqZWN0OiBhbnksIGJpbmRlZE9iamVjdDogYW55KSA9PiBib29sZWFuID0gKGl0ZXJhdGVkT2JqZWN0LCBiaW5kZWRPYmplY3QpID0+IHtcclxuICAgIGlmIChpdGVyYXRlZE9iamVjdCA9PSBudWxsIHx8IGJpbmRlZE9iamVjdCA9PSBudWxsKSByZXR1cm4gdHJ1ZTtcclxuICAgIGNvbnN0IGl0ZXJhdGVkS2V5UHJvcGVydHkgPSBpdGVyYXRlZE9iamVjdC5LZXkgIT0gbnVsbCA/IFwiS2V5XCIgOiB0aGlzLmJpbmRLZXk7XHJcbiAgICBjb25zdCBiaW5kZWRLZXlQcm9wZXJ0eSA9IGJpbmRlZE9iamVjdD8uS2V5ICE9IG51bGwgPyBcIktleVwiIDogdGhpcy5iaW5kS2V5O1xyXG4gICAgcmV0dXJuIGl0ZXJhdGVkT2JqZWN0W2l0ZXJhdGVkS2V5UHJvcGVydHldID09PSBiaW5kZWRPYmplY3QgfHxcclxuICAgICAgaXRlcmF0ZWRPYmplY3RbaXRlcmF0ZWRLZXlQcm9wZXJ0eV0gPT09IGJpbmRlZE9iamVjdFtiaW5kZWRLZXlQcm9wZXJ0eV07XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdE9iamVjdCB7XHJcbiAgaXNFbnVtTXVsdGlTZWxlY3Q/OiBib29sZWFuO1xyXG4gIHNob3dFbnVtQ2FuY2VsQnV0dG9uPzogYm9vbGVhbjtcclxuICBpc0VudW1TZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBlbnVtU2VhcmNoVGV4dD86IHN0cmluZztcclxuICBhcnJheURhdGE/OiBhbnk7XHJcbiAgYXJyYXlLZXlQcm9wZXJ0eT86IHN0cmluZztcclxuICBhcnJheVZhbHVlUHJvcGVydHk/OiBzdHJpbmc7XHJcbiAgZW51bURhdGE/OiBhbnk7XHJcbiAgZW51bURhdGFUb0V4Y2x1ZGU/OiBBcnJheTxhbnk+O1xyXG4gIG5nTW9kZWxPcHRpb25zPzogYW55O1xyXG4gIG5nTW9kZWxJbnB1dD86IGFueTtcclxuICBpc1JlcXVpcmVkPzogYm9vbGVhbjtcclxuICBpc011bHRpTGFuZ3VhZ2U/OiBib29sZWFuO1xyXG4gIG11bHRpbGFuZ3VhZ2VQcmVmaXhLZXk/OiBzdHJpbmc7XHJcbiAgaXNBbHBoYWJldGljYWxPcmRlcmFibGU/OiBib29sZWFuO1xyXG4gIHN1ZmZpeEljb24/OiBzdHJpbmc7XHJcbiAgcHJlZml4SWNvbj86IHN0cmluZztcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICBpc1NlYXJjaFdoaWxlQ29tcG9zaW5nPzogYm9vbGVhbjtcclxuICBhcHBlbmRUb0lucHV0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGRyb3Bkb3duUG9zaXRpb24/OiBcImJvdHRvbVwiIHwgXCJ0b3BcIiB8IFwiYXV0b1wiO1xyXG4gIHNlbGVjdE9uVGFiPzogYm9vbGVhbjtcclxuICBzZWxlY3RBbGw/OiBib29sZWFuO1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2VsZWN0YWJsZUdyb3VwQXNNb2RlbD86IGJvb2xlYW47XHJcbiAgY2xlYXJBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGN1c3RvbU9wdGlvbj86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY3VzdG9tTGFiZWw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNsYXNzPzogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2VUeXBlQ29udmVydGVyIHtcclxuICBzdGF0aWMgY29udmVydFRvRm9ybUZpZWxkVHlwZShiYXNlVHlwZTogQmFzZVR5cGUpOiBGb3JtRmllbGRUeXBlIHwgdW5kZWZpbmVkIHtcclxuICAgIHN3aXRjaCAoYmFzZVR5cGUpIHtcclxuICAgICAgY2FzZSBCYXNlVHlwZS5UZXh0OlxyXG4gICAgICAgIHJldHVybiBGb3JtRmllbGRUeXBlLlRleHQ7XHJcbiAgICAgIGNhc2UgQmFzZVR5cGUuTnVtYmVyOlxyXG4gICAgICAgIHJldHVybiBGb3JtRmllbGRUeXBlLk51bWJlcjtcclxuICAgICAgY2FzZSBCYXNlVHlwZS5EYXRlOlxyXG4gICAgICAgIHJldHVybiBGb3JtRmllbGRUeXBlLkRhdGU7XHJcbiAgICAgIGNhc2UgQmFzZVR5cGUuRW51bTpcclxuICAgICAgICByZXR1cm4gRm9ybUZpZWxkVHlwZS5FbnVtO1xyXG4gICAgICBjYXNlIEJhc2VUeXBlLkJvb2xlYW46XHJcbiAgICAgICAgcmV0dXJuIEZvcm1GaWVsZFR5cGUuQm9vbGVhbjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Classe utilizzata per la definizione di filtri avanzati.
3
+ * Si basa sul concetto del LinqPredicate documentato nella guida EqProject.
4
+ *
5
+ * Ciascun oggetto LinqPredicateDTO può contenenere la definizione di N filtri diversi (di tipo LinqFilterDTO) che potranno essere messi tutti in OR tra loro.
6
+ * In presenza di più oggetti di tipo LinqPredicateDTO tutti i LinqPredicateDTO saranni invece messi in AND tra loro.
7
+ * In questo modo sarà possibile realizzare condizioni complesse
8
+ */
9
+ export class LinqPredicateDTO {
10
+ /**
11
+ * Elenco di filtri di uno stesso predicato.
12
+ * Tutti i filtri contenuti in questa proprietà saranno considerati parte di tante OR
13
+ */
14
+ PropertyFilters;
15
+ }
16
+ /**
17
+ * Permette di definire ogni singola condizione di una where part.
18
+ */
19
+ export class LinqFilterDTO {
20
+ /**
21
+ * Nome della proprietà su cui applicare il filtro
22
+ */
23
+ PropertyName;
24
+ /**
25
+ * Valore della proprietà su cui applicare il filtro
26
+ */
27
+ PropertyValue;
28
+ /**
29
+ * Tipo di relazione. Identifica cioè l'operatore di confronto della where part
30
+ */
31
+ RelationType;
32
+ /**
33
+ * Se RelationType = ContainsElement o NotContainsElement allora in questa proprietà ci verrà definito
34
+ * il nome della proprietà degli oggetti della lista su cui applicare l'operatore Any
35
+ */
36
+ ListElementPropertyName;
37
+ static createFilter(propertyName, propertyValue, relationType, listElementPropertyName = null) {
38
+ let filter = new LinqFilterDTO();
39
+ filter.ListElementPropertyName = listElementPropertyName;
40
+ filter.PropertyName = propertyName;
41
+ filter.RelationType = relationType;
42
+ filter.PropertyValue = propertyValue;
43
+ return filter;
44
+ }
45
+ }
46
+ export class LookupCustomConfig {
47
+ LabelProperties;
48
+ IncludeFullObject;
49
+ }
50
+ export class ComplexLinqPredicateDTO {
51
+ Predicates;
52
+ /**
53
+ * Ricostruisce l'array di predicati complessi a partire dalla matrice di LinqPredicateDTO passata nel parametro.
54
+ * Ogni riga della matrice diventerà un elemento della lista restituita.
55
+ * Ogni elemento delle lista conterrà i dati della riga della matrice.
56
+ * @param complexPredicates Restituisce un array di oggetti di tipo ComplexLinqPredicateDTO
57
+ */
58
+ static CreateComplexPredicate(complexPredicates) {
59
+ let results = new Array();
60
+ complexPredicates.forEach(cp => {
61
+ let complexPredicate = new ComplexLinqPredicateDTO();
62
+ complexPredicate.Predicates = cp;
63
+ results.push(complexPredicate);
64
+ });
65
+ return results;
66
+ }
67
+ }
68
+ export class LookupDTO {
69
+ ID;
70
+ Label;
71
+ FullObject;
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlucUZpbHRlclJlc3VsdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1hdHRhY2htZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZXFwLWNvbW1vbi9tb2RlbHMvbGlucUZpbHRlclJlc3VsdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7O09BR0c7SUFDSSxlQUFlLENBQXVCO0NBQzlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUN4Qjs7T0FFRztJQUNJLFlBQVksQ0FBUztJQUU1Qjs7T0FFRztJQUNJLGFBQWEsQ0FBTTtJQUUxQjs7T0FFRztJQUNJLFlBQVksQ0FBZ0I7SUFFbkM7OztPQUdHO0lBQ0ksdUJBQXVCLENBQVM7SUFFdkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFvQixFQUFFLGFBQWtCLEVBQUUsWUFBMkIsRUFBRSwwQkFBa0MsSUFBSTtRQUMvSCxJQUFJLE1BQU0sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoRCxNQUFNLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDekQsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDbkMsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDbkMsTUFBTSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDckMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixlQUFlLENBQW1DO0lBQ2xELGlCQUFpQixDQUE2QjtDQUMvQztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsVUFBVSxDQUFzQztJQUV2RDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUQ7UUFDN0UsSUFBSSxPQUFPLEdBQW1DLElBQUksS0FBSyxFQUEyQixDQUFDO1FBRW5GLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM3QixJQUFJLGdCQUFnQixHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDOUUsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUNwQixFQUFFLENBQXFDO0lBQ3ZDLEtBQUssQ0FBNEI7SUFDakMsVUFBVSxDQUFNO0NBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2hlcmVQYXJ0VHlwZSB9IGZyb20gXCIuL2ZpbHRlckNvbmZpZy5tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSB1dGlsaXp6YXRhIHBlciBsYSBkZWZpbml6aW9uZSBkaSBmaWx0cmkgYXZhbnphdGkuXHJcbiAqIFNpIGJhc2Egc3VsIGNvbmNldHRvIGRlbCBMaW5xUHJlZGljYXRlIGRvY3VtZW50YXRvIG5lbGxhIGd1aWRhIEVxUHJvamVjdC5cclxuICogXHJcbiAqIENpYXNjdW4gb2dnZXR0byBMaW5xUHJlZGljYXRlRFRPIHB1w7IgY29udGVuZW5lcmUgbGEgZGVmaW5pemlvbmUgZGkgTiBmaWx0cmkgZGl2ZXJzaSAoZGkgdGlwbyBMaW5xRmlsdGVyRFRPKSBjaGUgcG90cmFubm8gZXNzZXJlIG1lc3NpIHR1dHRpIGluIE9SIHRyYSBsb3JvLlxyXG4gKiBJbiBwcmVzZW56YSBkaSBwacO5IG9nZ2V0dGkgZGkgdGlwbyBMaW5xUHJlZGljYXRlRFRPIHR1dHRpIGkgTGlucVByZWRpY2F0ZURUTyBzYXJhbm5pIGludmVjZSBtZXNzaSBpbiBBTkQgdHJhIGxvcm8uXHJcbiAqIEluIHF1ZXN0byBtb2RvIHNhcsOgIHBvc3NpYmlsZSByZWFsaXp6YXJlIGNvbmRpemlvbmkgY29tcGxlc3NlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTGlucVByZWRpY2F0ZURUTyB7XHJcbiAgLyoqXHJcbiAgICogRWxlbmNvIGRpIGZpbHRyaSBkaSB1bm8gc3Rlc3NvIHByZWRpY2F0by5cclxuICAgKiBUdXR0aSBpIGZpbHRyaSBjb250ZW51dGkgaW4gcXVlc3RhIHByb3ByaWV0w6Agc2FyYW5ubyBjb25zaWRlcmF0aSBwYXJ0ZSBkaSB0YW50ZSBPUlxyXG4gICAqL1xyXG4gIHB1YmxpYyBQcm9wZXJ0eUZpbHRlcnM6IEFycmF5PExpbnFGaWx0ZXJEVE8+O1xyXG59XHJcblxyXG4vKipcclxuICogUGVybWV0dGUgZGkgZGVmaW5pcmUgb2duaSBzaW5nb2xhIGNvbmRpemlvbmUgZGkgdW5hIHdoZXJlIHBhcnQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTGlucUZpbHRlckRUTyB7XHJcbiAgLyoqXHJcbiAgICogTm9tZSBkZWxsYSBwcm9wcmlldMOgIHN1IGN1aSBhcHBsaWNhcmUgaWwgZmlsdHJvXHJcbiAgICovXHJcbiAgcHVibGljIFByb3BlcnR5TmFtZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBWYWxvcmUgZGVsbGEgcHJvcHJpZXTDoCBzdSBjdWkgYXBwbGljYXJlIGlsIGZpbHRyb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBQcm9wZXJ0eVZhbHVlOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRpcG8gZGkgcmVsYXppb25lLiBJZGVudGlmaWNhIGNpb8OoIGwnb3BlcmF0b3JlIGRpIGNvbmZyb250byBkZWxsYSB3aGVyZSBwYXJ0XHJcbiAgICovXHJcbiAgcHVibGljIFJlbGF0aW9uVHlwZTogV2hlcmVQYXJ0VHlwZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2UgUmVsYXRpb25UeXBlID0gQ29udGFpbnNFbGVtZW50IG8gTm90Q29udGFpbnNFbGVtZW50IGFsbG9yYSBpbiBxdWVzdGEgcHJvcHJpZXTDoCBjaSB2ZXJyw6AgZGVmaW5pdG9cclxuICAgKiBpbCBub21lIGRlbGxhIHByb3ByaWV0w6AgZGVnbGkgb2dnZXR0aSBkZWxsYSBsaXN0YSBzdSBjdWkgYXBwbGljYXJlIGwnb3BlcmF0b3JlIEFueVxyXG4gICAqL1xyXG4gIHB1YmxpYyBMaXN0RWxlbWVudFByb3BlcnR5TmFtZTogc3RyaW5nO1xyXG5cclxuICBzdGF0aWMgY3JlYXRlRmlsdGVyKHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBhbnksIHJlbGF0aW9uVHlwZTogV2hlcmVQYXJ0VHlwZSwgbGlzdEVsZW1lbnRQcm9wZXJ0eU5hbWU6IHN0cmluZyA9IG51bGwpOiBMaW5xRmlsdGVyRFRPIHtcclxuICAgIGxldCBmaWx0ZXI6IExpbnFGaWx0ZXJEVE8gPSBuZXcgTGlucUZpbHRlckRUTygpO1xyXG4gICAgZmlsdGVyLkxpc3RFbGVtZW50UHJvcGVydHlOYW1lID0gbGlzdEVsZW1lbnRQcm9wZXJ0eU5hbWU7XHJcbiAgICBmaWx0ZXIuUHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lO1xyXG4gICAgZmlsdGVyLlJlbGF0aW9uVHlwZSA9IHJlbGF0aW9uVHlwZTtcclxuICAgIGZpbHRlci5Qcm9wZXJ0eVZhbHVlID0gcHJvcGVydHlWYWx1ZTtcclxuICAgIHJldHVybiBmaWx0ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9va3VwQ3VzdG9tQ29uZmlnIHtcclxuICBMYWJlbFByb3BlcnRpZXM6IEFycmF5PHN0cmluZz4gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEluY2x1ZGVGdWxsT2JqZWN0OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbXBsZXhMaW5xUHJlZGljYXRlRFRPIHtcclxuICBwdWJsaWMgUHJlZGljYXRlczogQXJyYXk8TGlucVByZWRpY2F0ZURUTz4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJpY29zdHJ1aXNjZSBsJ2FycmF5IGRpIHByZWRpY2F0aSBjb21wbGVzc2kgYSBwYXJ0aXJlIGRhbGxhIG1hdHJpY2UgZGkgTGlucVByZWRpY2F0ZURUTyBwYXNzYXRhIG5lbCBwYXJhbWV0cm8uXHJcbiAgICogT2duaSByaWdhIGRlbGxhIG1hdHJpY2UgZGl2ZW50ZXLDoCB1biBlbGVtZW50byBkZWxsYSBsaXN0YSByZXN0aXR1aXRhLlxyXG4gICAqIE9nbmkgZWxlbWVudG8gZGVsbGUgbGlzdGEgY29udGVycsOgIGkgZGF0aSBkZWxsYSByaWdhIGRlbGxhIG1hdHJpY2UuXHJcbiAgICogQHBhcmFtIGNvbXBsZXhQcmVkaWNhdGVzIFJlc3RpdHVpc2NlIHVuIGFycmF5IGRpIG9nZ2V0dGkgZGkgdGlwbyBDb21wbGV4TGlucVByZWRpY2F0ZURUT1xyXG4gICAqL1xyXG4gIHN0YXRpYyBDcmVhdGVDb21wbGV4UHJlZGljYXRlKGNvbXBsZXhQcmVkaWNhdGVzOiBBcnJheTxBcnJheTxMaW5xUHJlZGljYXRlRFRPPj4pOiBBcnJheTxDb21wbGV4TGlucVByZWRpY2F0ZURUTz4ge1xyXG4gICAgbGV0IHJlc3VsdHM6IEFycmF5PENvbXBsZXhMaW5xUHJlZGljYXRlRFRPPiA9IG5ldyBBcnJheTxDb21wbGV4TGlucVByZWRpY2F0ZURUTz4oKTtcclxuXHJcbiAgICBjb21wbGV4UHJlZGljYXRlcy5mb3JFYWNoKGNwID0+IHtcclxuICAgICAgbGV0IGNvbXBsZXhQcmVkaWNhdGU6IENvbXBsZXhMaW5xUHJlZGljYXRlRFRPID0gbmV3IENvbXBsZXhMaW5xUHJlZGljYXRlRFRPKCk7XHJcbiAgICAgIGNvbXBsZXhQcmVkaWNhdGUuUHJlZGljYXRlcyA9IGNwO1xyXG4gICAgICByZXN1bHRzLnB1c2goY29tcGxleFByZWRpY2F0ZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb29rdXBEVE8ge1xyXG4gIElEOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIExhYmVsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEZ1bGxPYmplY3Q6IGFueTtcclxufSJdfQ==