@doctorus/common 0.0.19 → 0.0.20

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.
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Generic Boolean Status enumeration and metadata
3
+ * Provides flexible labeling for boolean states with support for multiple label pairs
4
+ */
5
+ import type { StatusMetadata } from './types';
6
+ export declare enum BooleanStatus {
7
+ TRUE = "true",
8
+ FALSE = "false"
9
+ }
10
+ /**
11
+ * Boolean Status metadata configuration with default labels
12
+ * Can be overridden for specific use cases (e.g., active/inactive, yes/no, enabled/disabled)
13
+ */
14
+ export declare const BOOLEAN_STATUS_METADATA: Record<BooleanStatus, StatusMetadata>;
15
+ /**
16
+ * Preset metadata configurations for common boolean label pairs
17
+ */
18
+ export declare const BOOLEAN_STATUS_PRESETS: {
19
+ /**
20
+ * Yes/No preset
21
+ */
22
+ yesNo: () => Record<BooleanStatus, StatusMetadata>;
23
+ /**
24
+ * Active/Inactive preset
25
+ */
26
+ activeInactive: () => Record<BooleanStatus, StatusMetadata>;
27
+ /**
28
+ * Enabled/Disabled preset
29
+ */
30
+ enabledDisabled: () => Record<BooleanStatus, StatusMetadata>;
31
+ /**
32
+ * Valid/Invalid preset
33
+ */
34
+ validInvalid: () => Record<BooleanStatus, StatusMetadata>;
35
+ };
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ /**
3
+ * Generic Boolean Status enumeration and metadata
4
+ * Provides flexible labeling for boolean states with support for multiple label pairs
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BOOLEAN_STATUS_PRESETS = exports.BOOLEAN_STATUS_METADATA = exports.BooleanStatus = void 0;
8
+ var BooleanStatus;
9
+ (function (BooleanStatus) {
10
+ BooleanStatus["TRUE"] = "true";
11
+ BooleanStatus["FALSE"] = "false";
12
+ })(BooleanStatus || (exports.BooleanStatus = BooleanStatus = {}));
13
+ /**
14
+ * Boolean Status metadata configuration with default labels
15
+ * Can be overridden for specific use cases (e.g., active/inactive, yes/no, enabled/disabled)
16
+ */
17
+ exports.BOOLEAN_STATUS_METADATA = {
18
+ [BooleanStatus.TRUE]: {
19
+ icon: 'check_circle',
20
+ color: '#4CAF50', // Green
21
+ label: {
22
+ short: {
23
+ 'us-EN': 'Yes',
24
+ 'fr-FR': 'Oui',
25
+ },
26
+ long: {
27
+ 'us-EN': 'Active',
28
+ 'fr-FR': 'Actif',
29
+ },
30
+ },
31
+ description: {
32
+ 'us-EN': 'Status is active or enabled',
33
+ 'fr-FR': 'Le statut est actif ou activé',
34
+ },
35
+ },
36
+ [BooleanStatus.FALSE]: {
37
+ icon: 'cancel',
38
+ color: '#F44336', // Red
39
+ label: {
40
+ short: {
41
+ 'us-EN': 'No',
42
+ 'fr-FR': 'Non',
43
+ },
44
+ long: {
45
+ 'us-EN': 'Inactive',
46
+ 'fr-FR': 'Inactif',
47
+ },
48
+ },
49
+ description: {
50
+ 'us-EN': 'Status is inactive or disabled',
51
+ 'fr-FR': 'Le statut est inactif ou désactivé',
52
+ },
53
+ },
54
+ };
55
+ /**
56
+ * Preset metadata configurations for common boolean label pairs
57
+ */
58
+ exports.BOOLEAN_STATUS_PRESETS = {
59
+ /**
60
+ * Yes/No preset
61
+ */
62
+ yesNo: () => ({
63
+ [BooleanStatus.TRUE]: {
64
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.TRUE],
65
+ label: {
66
+ short: {
67
+ 'us-EN': 'Yes',
68
+ 'fr-FR': 'Oui',
69
+ },
70
+ long: {
71
+ 'us-EN': 'Yes',
72
+ 'fr-FR': 'Oui',
73
+ },
74
+ },
75
+ },
76
+ [BooleanStatus.FALSE]: {
77
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.FALSE],
78
+ label: {
79
+ short: {
80
+ 'us-EN': 'No',
81
+ 'fr-FR': 'Non',
82
+ },
83
+ long: {
84
+ 'us-EN': 'No',
85
+ 'fr-FR': 'Non',
86
+ },
87
+ },
88
+ },
89
+ }),
90
+ /**
91
+ * Active/Inactive preset
92
+ */
93
+ activeInactive: () => ({
94
+ [BooleanStatus.TRUE]: {
95
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.TRUE],
96
+ label: {
97
+ short: {
98
+ 'us-EN': 'Active',
99
+ 'fr-FR': 'Actif',
100
+ },
101
+ long: {
102
+ 'us-EN': 'Active',
103
+ 'fr-FR': 'Actif',
104
+ },
105
+ },
106
+ },
107
+ [BooleanStatus.FALSE]: {
108
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.FALSE],
109
+ label: {
110
+ short: {
111
+ 'us-EN': 'Inactive',
112
+ 'fr-FR': 'Inactif',
113
+ },
114
+ long: {
115
+ 'us-EN': 'Inactive',
116
+ 'fr-FR': 'Inactif',
117
+ },
118
+ },
119
+ },
120
+ }),
121
+ /**
122
+ * Enabled/Disabled preset
123
+ */
124
+ enabledDisabled: () => ({
125
+ [BooleanStatus.TRUE]: {
126
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.TRUE],
127
+ label: {
128
+ short: {
129
+ 'us-EN': 'Enabled',
130
+ 'fr-FR': 'Activé',
131
+ },
132
+ long: {
133
+ 'us-EN': 'Enabled',
134
+ 'fr-FR': 'Activé',
135
+ },
136
+ },
137
+ },
138
+ [BooleanStatus.FALSE]: {
139
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.FALSE],
140
+ label: {
141
+ short: {
142
+ 'us-EN': 'Disabled',
143
+ 'fr-FR': 'Désactivé',
144
+ },
145
+ long: {
146
+ 'us-EN': 'Disabled',
147
+ 'fr-FR': 'Désactivé',
148
+ },
149
+ },
150
+ },
151
+ }),
152
+ /**
153
+ * Valid/Invalid preset
154
+ */
155
+ validInvalid: () => ({
156
+ [BooleanStatus.TRUE]: {
157
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.TRUE],
158
+ label: {
159
+ short: {
160
+ 'us-EN': 'Valid',
161
+ 'fr-FR': 'Valide',
162
+ },
163
+ long: {
164
+ 'us-EN': 'Valid',
165
+ 'fr-FR': 'Valide',
166
+ },
167
+ },
168
+ },
169
+ [BooleanStatus.FALSE]: {
170
+ ...exports.BOOLEAN_STATUS_METADATA[BooleanStatus.FALSE],
171
+ label: {
172
+ short: {
173
+ 'us-EN': 'Invalid',
174
+ 'fr-FR': 'Invalide',
175
+ },
176
+ long: {
177
+ 'us-EN': 'Invalid',
178
+ 'fr-FR': 'Invalide',
179
+ },
180
+ },
181
+ },
182
+ }),
183
+ };
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2Jvb2xlYW4tc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQUlILElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsYUFBYSw2QkFBYixhQUFhLFFBR3hCO0FBRUQ7OztHQUdHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBMEM7SUFDNUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDcEIsSUFBSSxFQUFFLGNBQWM7UUFDcEIsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRO1FBQzFCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsT0FBTzthQUNqQjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxPQUFPLEVBQUUsK0JBQStCO1NBQ3pDO0tBQ0Y7SUFDRCxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTTtRQUN4QixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsVUFBVTtnQkFDbkIsT0FBTyxFQUFFLFNBQVM7YUFDbkI7U0FDRjtRQUNELFdBQVcsRUFBRTtZQUNYLE9BQU8sRUFBRSxnQ0FBZ0M7WUFDekMsT0FBTyxFQUFFLG9DQUFvQztTQUM5QztLQUNGO0NBQ0YsQ0FBQztB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LE9BQU8sRUFBRSxRQUFRO2lCQUNsQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2lCQUNsQjthQUNGO1NBQ0Y7UUFDRCxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyQixHQUFHLCtCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDL0MsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsU0FBUztvQkFDbEIsT0FBTyxFQUFFLFVBQVU7aUJBQ3BCO2dCQUNELElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsU0FBUztvQkFDbEIsT0FBTyxFQUFFLFVBQVU7aUJBQ3BCO2FBQ0Y7U0FDRjtLQUNGLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmljIEJvb2xlYW4gU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICogUHJvdmlkZXMgZmxleGlibGUgbGFiZWxpbmcgZm9yIGJvb2xlYW4gc3RhdGVzIHdpdGggc3VwcG9ydCBmb3IgbXVsdGlwbGUgbGFiZWwgcGFpcnNcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBlbnVtIEJvb2xlYW5TdGF0dXMge1xuICBUUlVFID0gJ3RydWUnLFxuICBGQUxTRSA9ICdmYWxzZScsXG59XG5cbi8qKlxuICogQm9vbGVhbiBTdGF0dXMgbWV0YWRhdGEgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgbGFiZWxzXG4gKiBDYW4gYmUgb3ZlcnJpZGRlbiBmb3Igc3BlY2lmaWMgdXNlIGNhc2VzIChlLmcuLCBhY3RpdmUvaW5hY3RpdmUsIHllcy9ubywgZW5hYmxlZC9kaXNhYmxlZClcbiAqL1xuZXhwb3J0IGNvbnN0IEJPT0xFQU5fU1RBVFVTX01FVEFEQVRBOiBSZWNvcmQ8Qm9vbGVhblN0YXR1cywgU3RhdHVzTWV0YWRhdGE+ID0ge1xuICBbQm9vbGVhblN0YXR1cy5UUlVFXToge1xuICAgIGljb246ICdjaGVja19jaXJjbGUnLFxuICAgIGNvbG9yOiAnIzRDQUY1MCcsIC8vIEdyZWVuXG4gICAgbGFiZWw6IHtcbiAgICAgIHNob3J0OiB7XG4gICAgICAgICd1cy1FTic6ICdZZXMnLFxuICAgICAgICAnZnItRlInOiAnT3VpJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdBY3RpdmUnLFxuICAgICAgICAnZnItRlInOiAnQWN0aWYnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAndXMtRU4nOiAnU3RhdHVzIGlzIGFjdGl2ZSBvciBlbmFibGVkJyxcbiAgICAgICdmci1GUic6ICdMZSBzdGF0dXQgZXN0IGFjdGlmIG91IGFjdGl2w6knLFxuICAgIH0sXG4gIH0sXG4gIFtCb29sZWFuU3RhdHVzLkZBTFNFXToge1xuICAgIGljb246ICdjYW5jZWwnLFxuICAgIGNvbG9yOiAnI0Y0NDMzNicsIC8vIFJlZFxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnTm8nLFxuICAgICAgICAnZnItRlInOiAnTm9uJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdJbmFjdGl2ZScsXG4gICAgICAgICdmci1GUic6ICdJbmFjdGlmJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ1N0YXR1cyBpcyBpbmFjdGl2ZSBvciBkaXNhYmxlZCcsXG4gICAgICAnZnItRlInOiAnTGUgc3RhdHV0IGVzdCBpbmFjdGlmIG91IGTDqXNhY3RpdsOpJyxcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBQcmVzZXQgbWV0YWRhdGEgY29uZmlndXJhdGlvbnMgZm9yIGNvbW1vbiBib29sZWFuIGxhYmVsIHBhaXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCT09MRUFOX1NUQVRVU19QUkVTRVRTID0ge1xuICAvKipcbiAgICogWWVzL05vIHByZXNldFxuICAgKi9cbiAgeWVzTm86ICgpOiBSZWNvcmQ8Qm9vbGVhblN0YXR1cywgU3RhdHVzTWV0YWRhdGE+ID0+ICh7XG4gICAgW0Jvb2xlYW5TdGF0dXMuVFJVRV06IHtcbiAgICAgIC4uLkJPT0xFQU5fU1RBVFVTX01FVEFEQVRBW0Jvb2xlYW5TdGF0dXMuVFJVRV0sXG4gICAgICBsYWJlbDoge1xuICAgICAgICBzaG9ydDoge1xuICAgICAgICAgICd1cy1FTic6ICdZZXMnLFxuICAgICAgICAgICdmci1GUic6ICdPdWknLFxuICAgICAgICB9LFxuICAgICAgICBsb25nOiB7XG4gICAgICAgICAgJ3VzLUVOJzogJ1llcycsXG4gICAgICAgICAgJ2ZyLUZSJzogJ091aScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgW0Jvb2xlYW5TdGF0dXMuRkFMU0VdOiB7XG4gICAgICAuLi5CT09MRUFOX1NUQVRVU19NRVRBREFUQVtCb29sZWFuU3RhdHVzLkZBTFNFXSxcbiAgICAgIGxhYmVsOiB7XG4gICAgICAgIHNob3J0OiB7XG4gICAgICAgICAgJ3VzLUVOJzogJ05vJyxcbiAgICAgICAgICAnZnItRlInOiAnTm9uJyxcbiAgICAgICAgfSxcbiAgICAgICAgbG9uZzoge1xuICAgICAgICAgICd1cy1FTic6ICdObycsXG4gICAgICAgICAgJ2ZyLUZSJzogJ05vbicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pLFxuXG4gIC8qKlxuICAgKiBBY3RpdmUvSW5hY3RpdmUgcHJlc2V0XG4gICAqL1xuICBhY3RpdmVJbmFjdGl2ZTogKCk6IFJlY29yZDxCb29sZWFuU3RhdHVzLCBTdGF0dXNNZXRhZGF0YT4gPT4gKHtcbiAgICBbQm9vbGVhblN0YXR1cy5UUlVFXToge1xuICAgICAgLi4uQk9PTEVBTl9TVEFUVVNfTUVUQURBVEFbQm9vbGVhblN0YXR1cy5UUlVFXSxcbiAgICAgIGxhYmVsOiB7XG4gICAgICAgIHNob3J0OiB7XG4gICAgICAgICAgJ3VzLUVOJzogJ0FjdGl2ZScsXG4gICAgICAgICAgJ2ZyLUZSJzogJ0FjdGlmJyxcbiAgICAgICAgfSxcbiAgICAgICAgbG9uZzoge1xuICAgICAgICAgICd1cy1FTic6ICdBY3RpdmUnLFxuICAgICAgICAgICdmci1GUic6ICdBY3RpZicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgW0Jvb2xlYW5TdGF0dXMuRkFMU0VdOiB7XG4gICAgICAuLi5CT09MRUFOX1NUQVRVU19NRVRBREFUQVtCb29sZWFuU3RhdHVzLkZBTFNFXSxcbiAgICAgIGxhYmVsOiB7XG4gICAgICAgIHNob3J0OiB7XG4gICAgICAgICAgJ3VzLUVOJzogJ0luYWN0aXZlJyxcbiAgICAgICAgICAnZnItRlInOiAnSW5hY3RpZicsXG4gICAgICAgIH0sXG4gICAgICAgIGxvbmc6IHtcbiAgICAgICAgICAndXMtRU4nOiAnSW5hY3RpdmUnLFxuICAgICAgICAgICdmci1GUic6ICdJbmFjdGlmJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSksXG5cbiAgLyoqXG4gICAqIEVuYWJsZWQvRGlzYWJsZWQgcHJlc2V0XG4gICAqL1xuICBlbmFibGVkRGlzYWJsZWQ6ICgpOiBSZWNvcmQ8Qm9vbGVhblN0YXR1cywgU3RhdHVzTWV0YWRhdGE+ID0+ICh7XG4gICAgW0Jvb2xlYW5TdGF0dXMuVFJVRV06IHtcbiAgICAgIC4uLkJPT0xFQU5fU1RBVFVTX01FVEFEQVRBW0Jvb2xlYW5TdGF0dXMuVFJVRV0sXG4gICAgICBsYWJlbDoge1xuICAgICAgICBzaG9ydDoge1xuICAgICAgICAgICd1cy1FTic6ICdFbmFibGVkJyxcbiAgICAgICAgICAnZnItRlInOiAnQWN0aXbDqScsXG4gICAgICAgIH0sXG4gICAgICAgIGxvbmc6IHtcbiAgICAgICAgICAndXMtRU4nOiAnRW5hYmxlZCcsXG4gICAgICAgICAgJ2ZyLUZSJzogJ0FjdGl2w6knLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIFtCb29sZWFuU3RhdHVzLkZBTFNFXToge1xuICAgICAgLi4uQk9PTEVBTl9TVEFUVVNfTUVUQURBVEFbQm9vbGVhblN0YXR1cy5GQUxTRV0sXG4gICAgICBsYWJlbDoge1xuICAgICAgICBzaG9ydDoge1xuICAgICAgICAgICd1cy1FTic6ICdEaXNhYmxlZCcsXG4gICAgICAgICAgJ2ZyLUZSJzogJ0TDqXNhY3RpdsOpJyxcbiAgICAgICAgfSxcbiAgICAgICAgbG9uZzoge1xuICAgICAgICAgICd1cy1FTic6ICdEaXNhYmxlZCcsXG4gICAgICAgICAgJ2ZyLUZSJzogJ0TDqXNhY3RpdsOpJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSksXG5cbiAgLyoqXG4gICAqIFZhbGlkL0ludmFsaWQgcHJlc2V0XG4gICAqL1xuICB2YWxpZEludmFsaWQ6ICgpOiBSZWNvcmQ8Qm9vbGVhblN0YXR1cywgU3RhdHVzTWV0YWRhdGE+ID0+ICh7XG4gICAgW0Jvb2xlYW5TdGF0dXMuVFJVRV06IHtcbiAgICAgIC4uLkJPT0xFQU5fU1RBVFVTX01FVEFEQVRBW0Jvb2xlYW5TdGF0dXMuVFJVRV0sXG4gICAgICBsYWJlbDoge1xuICAgICAgICBzaG9ydDoge1xuICAgICAgICAgICd1cy1FTic6ICdWYWxpZCcsXG4gICAgICAgICAgJ2ZyLUZSJzogJ1ZhbGlkZScsXG4gICAgICAgIH0sXG4gICAgICAgIGxvbmc6IHtcbiAgICAgICAgICAndXMtRU4nOiAnVmFsaWQnLFxuICAgICAgICAgICdmci1GUic6ICdWYWxpZGUnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIFtCb29sZWFuU3RhdHVzLkZBTFNFXToge1xuICAgICAgLi4uQk9PTEVBTl9TVEFUVVNfTUVUQURBVEFbQm9vbGVhblN0YXR1cy5GQUxTRV0sXG4gICAgICBsYWJlbDoge1xuICAgICAgICBzaG9ydDoge1xuICAgICAgICAgICd1cy1FTic6ICdJbnZhbGlkJyxcbiAgICAgICAgICAnZnItRlInOiAnSW52YWxpZGUnLFxuICAgICAgICB9LFxuICAgICAgICBsb25nOiB7XG4gICAgICAgICAgJ3VzLUVOJzogJ0ludmFsaWQnLFxuICAgICAgICAgICdmci1GUic6ICdJbnZhbGlkZScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pLFxufTtcbiJdfQ==
@@ -5,4 +5,5 @@ export * from './types';
5
5
  export * from './medical-service-status';
6
6
  export * as AccountLocationStatus from './account-location-status';
7
7
  export * as MedicalHistoryStatus from './medical-history-status';
8
+ export * from './boolean-status';
8
9
  export * from './utils';
@@ -44,5 +44,6 @@ __exportStar(require("./types"), exports);
44
44
  __exportStar(require("./medical-service-status"), exports);
45
45
  exports.AccountLocationStatus = __importStar(require("./account-location-status"));
46
46
  exports.MedicalHistoryStatus = __importStar(require("./medical-history-status"));
47
+ __exportStar(require("./boolean-status"), exports);
47
48
  __exportStar(require("./utils"), exports);
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMENBQXdCO0FBQ3hCLDJEQUF5QztBQUN6QyxtRkFBbUU7QUFDbkUsaUZBQWlFO0FBQ2pFLDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RhdHVzIG1vZHVsZSBleHBvcnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpY2FsLXNlcnZpY2Utc3RhdHVzJztcbmV4cG9ydCAqIGFzIEFjY291bnRMb2NhdGlvblN0YXR1cyBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmV4cG9ydCAqIGFzIE1lZGljYWxIaXN0b3J5U3RhdHVzIGZyb20gJy4vbWVkaWNhbC1oaXN0b3J5LXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMENBQXdCO0FBQ3hCLDJEQUF5QztBQUN6QyxtRkFBbUU7QUFDbkUsaUZBQWlFO0FBQ2pFLG1EQUFpQztBQUNqQywwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0YXR1cyBtb2R1bGUgZXhwb3J0c1xuICovXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5leHBvcnQgKiBhcyBBY2NvdW50TG9jYXRpb25TdGF0dXMgZnJvbSAnLi9hY2NvdW50LWxvY2F0aW9uLXN0YXR1cyc7XG5leHBvcnQgKiBhcyBNZWRpY2FsSGlzdG9yeVN0YXR1cyBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ib29sZWFuLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
@@ -5,11 +5,12 @@
5
5
  import type { AccountLocationStatus } from './account-location-status';
6
6
  import type { MedicalHistoryStatus } from './medical-history-status';
7
7
  import type { MedicalServiceStatus } from './medical-service-status';
8
+ import type { BooleanStatus } from './boolean-status';
8
9
  import type { StatusMetadata, Locale } from './types';
9
10
  /**
10
11
  * Feature type for status selection
11
12
  */
12
- export type StatusFeature = 'medicalService' | 'accountLocation' | 'medicalHistory';
13
+ export type StatusFeature = 'medicalService' | 'accountLocation' | 'medicalHistory' | 'boolean';
13
14
  /**
14
15
  * Status type mapping for each feature
15
16
  */
@@ -17,6 +18,7 @@ export type StatusTypeMap = {
17
18
  medicalService: MedicalServiceStatus;
18
19
  accountLocation: AccountLocationStatus;
19
20
  medicalHistory: MedicalHistoryStatus;
21
+ boolean: BooleanStatus;
20
22
  };
21
23
  /**
22
24
  * Get status metadata for a specific feature and status
@@ -20,6 +20,7 @@ exports.groupStatusesByIconForFeature = groupStatusesByIconForFeature;
20
20
  const account_location_status_1 = require("./account-location-status");
21
21
  const medical_history_status_1 = require("./medical-history-status");
22
22
  const medical_service_status_1 = require("./medical-service-status");
23
+ const boolean_status_1 = require("./boolean-status");
23
24
  /**
24
25
  * Metadata registry mapping features to their status configurations
25
26
  */
@@ -27,6 +28,7 @@ const METADATA_REGISTRY = {
27
28
  medicalService: medical_service_status_1.MEDICAL_SERVICE_STATUS_METADATA,
28
29
  accountLocation: account_location_status_1.ACCOUNT_LOCATION_STATUS_METADATA,
29
30
  medicalHistory: medical_history_status_1.MEDICAL_HISTORY_STATUS_METADATA,
31
+ boolean: boolean_status_1.BOOLEAN_STATUS_METADATA,
30
32
  };
31
33
  /**
32
34
  * Get status metadata for a specific feature and status
@@ -194,4 +196,4 @@ function groupStatusesByIconForFeature(feature) {
194
196
  });
195
197
  return grouped;
196
198
  }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBd0NILGtFQWVDO0FBUUQsMERBRUM7QUFRRCw0REFFQztBQVVELDREQVFDO0FBU0Qsd0VBTUM7QUFPRCx3RUFRQztBQU9ELDREQUdDO0FBUUQsMERBUUM7QUFRRCxvREFZQztBQWVELGtGQWVDO0FBU0QsMERBY0M7QUFPRCx3RUFlQztBQU9ELHNFQWFDO0FBbFFELHVFQUE2RTtBQUM3RSxxRUFBMkU7QUFDM0UscUVBQTJFO0FBZ0IzRTs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQW1FO0lBQ3hGLGNBQWMsRUFBRSx3REFBK0I7SUFDL0MsZUFBZSxFQUFFLDBEQUFnQztJQUNqRCxjQUFjLEVBQUUsd0RBQStCO0NBQ2hELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxTQUFnQiwyQkFBMkIsQ0FDekMsT0FBVSxFQUNWLE1BQXdCO0lBRXhCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixPQUFPLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQTBCLE9BQVUsRUFBRSxNQUF3QjtJQUNuRyxPQUFPLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FB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RUFBRSxFQUFFO1FBQ2xELE1BQU0sU0FBUyxHQUFHLElBQXNCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBMEIsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBMEIsT0FBVTtJQUMvRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBdUMsRUFBRSxDQUFDO0lBRXZELE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFNBQVMsR0FBRyxJQUFzQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQTBCLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0YXR1cyB1dGlsaXRpZXMgZm9yIGV4dHJhY3RpbmcgYW5kIHF1ZXJ5aW5nIHN0YXR1cyBtZXRhZGF0YVxuICogUHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggc3RhdHVzIGNvbmZpZ3VyYXRpb25zXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBY2NvdW50TG9jYXRpb25TdGF0dXMgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgTWVkaWNhbEhpc3RvcnlTdGF0dXMgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBNZWRpY2FsU2VydmljZVN0YXR1cyB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9hY2NvdW50LWxvY2F0aW9uLXN0YXR1cyc7XG5pbXBvcnQgeyBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9tZWRpY2FsLWhpc3Rvcnktc3RhdHVzJztcbmltcG9ydCB7IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL21lZGljYWwtc2VydmljZS1zdGF0dXMnO1xuXG4vKipcbiAqIEZlYXR1cmUgdHlwZSBmb3Igc3RhdHVzIHNlbGVjdGlvblxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNGZWF0dXJlID0gJ21lZGljYWxTZXJ2aWNlJyB8ICdhY2NvdW50TG9jYXRpb24nIHwgJ21lZGljYWxIaXN0b3J5JztcblxuLyoqXG4gKiBTdGF0dXMgdHlwZSBtYXBwaW5nIGZvciBlYWNoIGZlYXR1cmVcbiAqL1xuZXhwb3J0IHR5cGUgU3RhdHVzVHlwZU1hcCA9IHtcbiAgbWVkaWNhbFNlcnZpY2U6IE1lZGljYWxTZXJ2aWNlU3RhdHVzO1xuICBhY2NvdW50TG9jYXRpb246IEFjY291bnRMb2NhdGlvblN0YXR1cztcbiAgbWVkaWNhbEhpc3Rvcnk6IE1lZGljYWxIaXN0b3J5U3RhdHVzO1xufTtcblxuLyoqXG4gKiBNZXRhZGF0YSByZWdpc3RyeSBtYXBwaW5nIGZlYXR1cmVzIHRvIHRoZWlyIHN0YXR1cyBjb25maWd1cmF0aW9uc1xuICovXG5jb25zdCBNRVRBREFUQV9SRUdJU1RSWTogUmVjb3JkPFN0YXR1c0ZlYXR1cmUsIFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXR1c01ldGFkYXRhPj4gPSB7XG4gIG1lZGljYWxTZXJ2aWNlOiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBLFxuICBhY2NvdW50TG9jYXRpb246IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBLFxuICBtZWRpY2FsSGlzdG9yeTogTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZSAoZS5nLiwgJ21lZGljYWxTZXJ2aWNlJywgJ2FjY291bnRMb2NhdGlvbicpXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGNvbXBsZXRlIFN0YXR1c01ldGFkYXRhIGZvciB0aGUgZ2l2ZW4gZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAdGhyb3dzIEVycm9yIGlmIGZlYXR1cmUgb3Igc3RhdHVzIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbiAgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdLFxuKTogU3RhdHVzTWV0YWRhdGEge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cblxuICBjb25zdCBtZXRhZGF0YSA9IHJlZ2lzdHJ5W3N0YXR1c107XG4gIGlmICghbWV0YWRhdGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc3RhdHVzIGZvciBmZWF0dXJlICR7ZmVhdHVyZX06ICR7c3RhdHVzfWApO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBNYXRlcmlhbCBpY29uIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb25Gb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBULCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cykuaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGhleCBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvckZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSwgc3RhdHVzKS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGUgKGRlZmF1bHQ6ICd1cy1FTicpXG4gKiBAcGFyYW0gZm9ybWF0IC0gTGFiZWwgZm9ybWF0OiAnc2hvcnQnIG9yICdsb25nJyAoZGVmYXVsdDogJ3Nob3J0JylcbiAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGVkIGxhYmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNMYWJlbEZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG4gIHJldHVybiBtZXRhZGF0YS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlIChkZWZhdWx0OiAndXMtRU4nKVxuICogQHJldHVybnMgVGhlIHRyYW5zbGF0ZWQgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpLmRlc2NyaXB0aW9uW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IGFsbCBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBhbGwgc3RhdHVzZXMgYW5kIHRoZWlyIG1ldGFkYXRhIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT4ge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cbiAgcmV0dXJuIHJlZ2lzdHJ5IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT47XG59XG5cbi8qKlxuICogR2V0IGFsbCBzdGF0dXNlcyBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIEFycmF5IG9mIGFsbCBzdGF0dXMgdmFsdWVzIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzZXNGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBUKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3Qua2V5cyhtZXRhZGF0YSkgYXMgU3RhdHVzVHlwZU1hcFtUXVtdO1xufVxuXG4vKipcbiAqIEZpbHRlciBzdGF0dXNlcyBieSBjcml0ZXJpYVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gRnVuY3Rpb24gdG8gdGVzdCBlYWNoIHN0YXR1cyBtZXRhZGF0YVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgdGhhdCBtYXRjaCB0aGUgcHJlZGljYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHByZWRpY2F0ZTogKG1ldGFkYXRhOiBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdKSA9PiBib29sZWFuLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhtZXRhZGF0YSlcbiAgICAuZmlsdGVyKChbc3RhdHVzLCBtZXRhXSkgPT4gcHJlZGljYXRlKG1ldGEgYXMgU3RhdHVzTWV0YWRhdGEsIHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKSlcbiAgICAubWFwKChbc3RhdHVzXSkgPT4gc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xufVxuXG4vKipcbiAqIE1hcCBzdGF0dXNlcyB0byBhIHNwZWNpZmljIHZhbHVlIHVzaW5nIGEgdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSB0cmFuc2Zvcm0gLSBGdW5jdGlvbiB0byB0cmFuc2Zvcm0gZWFjaCBzdGF0dXMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBzdGF0dXNlcyBtYXBwZWQgdG8gdGhlIHRyYW5zZm9ybWVkIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmUsIFU+KFxuICBmZWF0dXJlOiBULFxuICB0cmFuc2Zvcm06IChtZXRhZGF0YTogU3RhdHVzTWV0YWRhdGEsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSkgPT4gVSxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFU+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgcmVzdWx0W3N0YXR1c10gPSB0cmFuc2Zvcm0obWV0YSBhcyBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgcHJvcGVydGllc1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGVcbiAqIEByZXR1cm5zIEV4dGVuZGVkIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgbGFiZWxzIGFuZCBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhdHVzTWV0YWRhdGEgZXh0ZW5kcyBPbWl0PFN0YXR1c01ldGFkYXRhLCAnZGVzY3JpcHRpb24nPiB7XG4gIHNob3J0TGFiZWw6IHN0cmluZztcbiAgbG9uZ0xhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbmRlZFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogRXh0ZW5kZWRTdGF0dXNNZXRhZGF0YSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG5cbiAgcmV0dXJuIHtcbiAgICBpY29uOiBtZXRhZGF0YS5pY29uLFxuICAgIGNvbG9yOiBtZXRhZGF0YS5jb2xvcixcbiAgICBsYWJlbDogbWV0YWRhdGEubGFiZWwsXG4gICAgc2hvcnRMYWJlbDogbWV0YWRhdGEubGFiZWwuc2hvcnRbbG9jYWxlXSxcbiAgICBsb25nTGFiZWw6IG1ldGFkYXRhLmxhYmVsLmxvbmdbbG9jYWxlXSxcbiAgICBkZXNjcmlwdGlvbjogbWV0YWRhdGEuZGVzY3JpcHRpb25bbG9jYWxlXSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZWFyY2ggc3RhdHVzZXMgYnkgbGFiZWxcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHNlYXJjaFRlcm0gLSBUaGUgc2VhcmNoIHRlcm0gKGNhc2UtaW5zZW5zaXRpdmUpXG4gKiBAcGFyYW0gbG9jYWxlIC0gVGhlIGxhbmd1YWdlIGxvY2FsZVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXJtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbG93ZXJTZWFyY2ggPSBzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIGZpbHRlclN0YXR1c2VzQnlGZWF0dXJlKGZlYXR1cmUsIChtZXRhZGF0YSkgPT4ge1xuICAgIGNvbnN0IHNob3J0TGFiZWwgPSBtZXRhZGF0YS5sYWJlbC5zaG9ydFtsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbG9uZ0xhYmVsID0gbWV0YWRhdGEubGFiZWwubG9uZ1tsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBtZXRhZGF0YS5kZXNjcmlwdGlvbltsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gc2hvcnRMYWJlbC5pbmNsdWRlcyhsb3dlclNlYXJjaCkgfHwgbG9uZ0xhYmVsLmluY2x1ZGVzKGxvd2VyU2VhcmNoKSB8fCBkZXNjcmlwdGlvbi5pbmNsdWRlcyhsb3dlclNlYXJjaCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgbWV0YWRhdGEgZ3JvdXBlZCBieSBjb2xvclxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgY29sb3JzIG1hcHBlZCB0byBhcnJheXMgb2Ygc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwU3RhdHVzZXNCeUNvbG9yRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdKSB7XG4gICAgICBncm91cGVkW21ldGFUeXBlZC5jb2xvcl0gPSBbXTtcbiAgICB9XG4gICAgZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIGdyb3VwZWQgYnkgaWNvblxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgaWNvbnMgbWFwcGVkIHRvIGFycmF5cyBvZiBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBTdGF0dXNlc0J5SWNvbkZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQpOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuaWNvbl0pIHtcbiAgICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dID0gW107XG4gICAgfVxuICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cbiJdfQ==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBNENILGtFQWVDO0FBUUQsMERBRUM7QUFRRCw0REFFQztBQVVELDREQVFDO0FBU0Qsd0VBTUM7QUFPRCx3RUFRQztBQU9ELDREQUdDO0FBUUQsMERBUUM7QUFRRCxvREFZQztBQWVELGtGQWVDO0FBU0QsMERBY0M7QUFPRCx3RUFlQztBQU9ELHNFQWFDO0FBclFELHVFQUE2RTtBQUM3RSxxRUFBMkU7QUFDM0UscUVBQTJFO0FBQzNFLHFEQUEyRDtBQWlCM0Q7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFtRTtJQUN4RixjQUFjLEVBQUUsd0RBQStCO0lBQy9DLGVBQWUsRUFBRSwwREFBZ0M7SUFDakQsY0FBYyxFQUFFLHdEQUErQjtJQUMvQyxPQUFPLEVBQUUsd0NBQXVCO0NBQ2pDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxTQUFnQiwyQkFBMkIsQ0FDekMsT0FBVSxFQUNWLE1BQXdCO0lBRXhCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixPQUFPLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQTBCLE9BQVUsRUFBRSxNQUF3QjtJQUNuRyxPQUFP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LENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2xELE1BQU0sU0FBUyxHQUFHLElBQXNCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBMEIsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBMEIsT0FBVTtJQUMvRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBdUMsRUFBRSxDQUFDO0lBRXZELE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFNBQVMsR0FBRyxJQUFzQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQTBCLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0YXR1cyB1dGlsaXRpZXMgZm9yIGV4dHJhY3RpbmcgYW5kIHF1ZXJ5aW5nIHN0YXR1cyBtZXRhZGF0YVxuICogUHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggc3RhdHVzIGNvbmZpZ3VyYXRpb25zXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBY2NvdW50TG9jYXRpb25TdGF0dXMgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgTWVkaWNhbEhpc3RvcnlTdGF0dXMgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBNZWRpY2FsU2VydmljZVN0YXR1cyB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgdHlwZSB7IEJvb2xlYW5TdGF0dXMgfSBmcm9tICcuL2Jvb2xlYW4tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgU3RhdHVzTWV0YWRhdGEsIExvY2FsZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQUNDT1VOVF9MT0NBVElPTl9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB7IE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHsgTUVESUNBTF9TRVJWSUNFX1NUQVRVU19NRVRBREFUQSB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgeyBCT09MRUFOX1NUQVRVU19NRVRBREFUQSB9IGZyb20gJy4vYm9vbGVhbi1zdGF0dXMnO1xuXG4vKipcbiAqIEZlYXR1cmUgdHlwZSBmb3Igc3RhdHVzIHNlbGVjdGlvblxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNGZWF0dXJlID0gJ21lZGljYWxTZXJ2aWNlJyB8ICdhY2NvdW50TG9jYXRpb24nIHwgJ21lZGljYWxIaXN0b3J5JyB8ICdib29sZWFuJztcblxuLyoqXG4gKiBTdGF0dXMgdHlwZSBtYXBwaW5nIGZvciBlYWNoIGZlYXR1cmVcbiAqL1xuZXhwb3J0IHR5cGUgU3RhdHVzVHlwZU1hcCA9IHtcbiAgbWVkaWNhbFNlcnZpY2U6IE1lZGljYWxTZXJ2aWNlU3RhdHVzO1xuICBhY2NvdW50TG9jYXRpb246IEFjY291bnRMb2NhdGlvblN0YXR1cztcbiAgbWVkaWNhbEhpc3Rvcnk6IE1lZGljYWxIaXN0b3J5U3RhdHVzO1xuICBib29sZWFuOiBCb29sZWFuU3RhdHVzO1xufTtcblxuLyoqXG4gKiBNZXRhZGF0YSByZWdpc3RyeSBtYXBwaW5nIGZlYXR1cmVzIHRvIHRoZWlyIHN0YXR1cyBjb25maWd1cmF0aW9uc1xuICovXG5jb25zdCBNRVRBREFUQV9SRUdJU1RSWTogUmVjb3JkPFN0YXR1c0ZlYXR1cmUsIFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXR1c01ldGFkYXRhPj4gPSB7XG4gIG1lZGljYWxTZXJ2aWNlOiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBLFxuICBhY2NvdW50TG9jYXRpb246IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBLFxuICBtZWRpY2FsSGlzdG9yeTogTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQSxcbiAgYm9vbGVhbjogQk9PTEVBTl9TVEFUVVNfTUVUQURBVEEsXG59O1xuXG4vKipcbiAqIEdldCBzdGF0dXMgbWV0YWRhdGEgZm9yIGEgc3BlY2lmaWMgZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWUgKGUuZy4sICdtZWRpY2FsU2VydmljZScsICdhY2NvdW50TG9jYXRpb24nKVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBTdGF0dXNNZXRhZGF0YSBmb3IgdGhlIGdpdmVuIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHRocm93cyBFcnJvciBpZiBmZWF0dXJlIG9yIHN0YXR1cyBpcyBub3QgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbik6IFN0YXR1c01ldGFkYXRhIHtcbiAgY29uc3QgcmVnaXN0cnkgPSBNRVRBREFUQV9SRUdJU1RSWVtmZWF0dXJlXTtcbiAgaWYgKCFyZWdpc3RyeSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzdGF0dXMgZmVhdHVyZTogJHtmZWF0dXJlfWApO1xuICB9XG5cbiAgY29uc3QgbWV0YWRhdGEgPSByZWdpc3RyeVtzdGF0dXNdO1xuICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmb3IgZmVhdHVyZSAke2ZlYXR1cmV9OiAke3N0YXR1c31gKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGljb24gZm9yIGEgc3BlY2lmaWMgZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSBzdGF0dXMgLSBUaGUgc3RhdHVzIHZhbHVlXG4gKiBAcmV0dXJucyBUaGUgTWF0ZXJpYWwgaWNvbiBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNJY29uRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oZmVhdHVyZTogVCwgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpLmljb247XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBjb2xvciBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBoZXggY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzQ29sb3JGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBULCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cykuY29sb3I7XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBsYWJlbCBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlIChkZWZhdWx0OiAndXMtRU4nKVxuICogQHBhcmFtIGZvcm1hdCAtIExhYmVsIGZvcm1hdDogJ3Nob3J0JyBvciAnbG9uZycgKGRlZmF1bHQ6ICdzaG9ydCcpXG4gKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRlZCBsYWJlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWxGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbiAgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdLFxuICBsb2NhbGU6IExvY2FsZSA9ICd1cy1FTicsXG4gIGZvcm1hdDogJ3Nob3J0JyB8ICdsb25nJyA9ICdzaG9ydCcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpO1xuICByZXR1cm4gbWV0YWRhdGEubGFiZWxbZm9ybWF0XVtsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgZGVzY3JpcHRpb24gZm9yIGEgc3BlY2lmaWMgZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSBzdGF0dXMgLSBUaGUgc3RhdHVzIHZhbHVlXG4gKiBAcGFyYW0gbG9jYWxlIC0gVGhlIGxhbmd1YWdlIGxvY2FsZSAoZGVmYXVsdDogJ3VzLUVOJylcbiAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGVkIGRlc2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNEZXNjcmlwdGlvbkZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBnZXRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSwgc3RhdHVzKS5kZXNjcmlwdGlvbltsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBhbGwgbWV0YWRhdGEgZm9yIGEgc3BlY2lmaWMgZmVhdHVyZVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgYWxsIHN0YXR1c2VzIGFuZCB0aGVpciBtZXRhZGF0YSBmb3IgdGhlIGZlYXR1cmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4pOiBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgU3RhdHVzTWV0YWRhdGE+IHtcbiAgY29uc3QgcmVnaXN0cnkgPSBNRVRBREFUQV9SRUdJU1RSWVtmZWF0dXJlXTtcbiAgaWYgKCFyZWdpc3RyeSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzdGF0dXMgZmVhdHVyZTogJHtmZWF0dXJlfWApO1xuICB9XG4gIHJldHVybiByZWdpc3RyeSBhcyBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgU3RhdHVzTWV0YWRhdGE+O1xufVxuXG4vKipcbiAqIEdldCBhbGwgc3RhdHVzZXMgZm9yIGEgc3BlY2lmaWMgZmVhdHVyZVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBBcnJheSBvZiBhbGwgc3RhdHVzIHZhbHVlcyBmb3IgdGhlIGZlYXR1cmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFN0YXR1c2VzRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oZmVhdHVyZTogVCk6IFN0YXR1c1R5cGVNYXBbVF1bXSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICByZXR1cm4gT2JqZWN0LmtleXMobWV0YWRhdGEpIGFzIFN0YXR1c1R5cGVNYXBbVF1bXTtcbn1cblxuLyoqXG4gKiBGaWx0ZXIgc3RhdHVzZXMgYnkgY3JpdGVyaWFcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHByZWRpY2F0ZSAtIEZ1bmN0aW9uIHRvIHRlc3QgZWFjaCBzdGF0dXMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIEFycmF5IG9mIHN0YXR1c2VzIHRoYXQgbWF0Y2ggdGhlIHByZWRpY2F0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBwcmVkaWNhdGU6IChtZXRhZGF0YTogU3RhdHVzTWV0YWRhdGEsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSkgPT4gYm9vbGVhbixcbik6IFN0YXR1c1R5cGVNYXBbVF1bXSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpXG4gICAgLmZpbHRlcigoW3N0YXR1cywgbWV0YV0pID0+IHByZWRpY2F0ZShtZXRhIGFzIFN0YXR1c01ldGFkYXRhLCBzdGF0dXMgYXMgU3RhdHVzVHlwZU1hcFtUXSkpXG4gICAgLm1hcCgoW3N0YXR1c10pID0+IHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbn1cblxuLyoqXG4gKiBNYXAgc3RhdHVzZXMgdG8gYSBzcGVjaWZpYyB2YWx1ZSB1c2luZyBhIHRyYW5zZm9ybSBmdW5jdGlvblxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gdHJhbnNmb3JtIC0gRnVuY3Rpb24gdG8gdHJhbnNmb3JtIGVhY2ggc3RhdHVzIG1ldGFkYXRhXG4gKiBAcmV0dXJucyBSZWNvcmQgb2Ygc3RhdHVzZXMgbWFwcGVkIHRvIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFN0YXR1c2VzQnlGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlLCBVPihcbiAgZmVhdHVyZTogVCxcbiAgdHJhbnNmb3JtOiAobWV0YWRhdGE6IFN0YXR1c01ldGFkYXRhLCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pID0+IFUsXG4pOiBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgVT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldEFsbFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlKTtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBVPiA9IHt9O1xuXG4gIE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhKS5mb3JFYWNoKChbc3RhdHVzLCBtZXRhXSkgPT4ge1xuICAgIHJlc3VsdFtzdGF0dXNdID0gdHJhbnNmb3JtKG1ldGEgYXMgU3RhdHVzTWV0YWRhdGEsIHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdCBhcyBSZWNvcmQ8U3RhdHVzVHlwZU1hcFtUXSwgVT47XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSB3aXRoIGNvbXB1dGVkIHByb3BlcnRpZXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlXG4gKiBAcmV0dXJucyBFeHRlbmRlZCBtZXRhZGF0YSB3aXRoIGNvbXB1dGVkIGxhYmVscyBhbmQgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFN0YXR1c01ldGFkYXRhIGV4dGVuZHMgT21pdDxTdGF0dXNNZXRhZGF0YSwgJ2Rlc2NyaXB0aW9uJz4ge1xuICBzaG9ydExhYmVsOiBzdHJpbmc7XG4gIGxvbmdMYWJlbDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5kZWRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbik6IEV4dGVuZGVkU3RhdHVzTWV0YWRhdGEge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpO1xuXG4gIHJldHVybiB7XG4gICAgaWNvbjogbWV0YWRhdGEuaWNvbixcbiAgICBjb2xvcjogbWV0YWRhdGEuY29sb3IsXG4gICAgbGFiZWw6IG1ldGFkYXRhLmxhYmVsLFxuICAgIHNob3J0TGFiZWw6IG1ldGFkYXRhLmxhYmVsLnNob3J0W2xvY2FsZV0sXG4gICAgbG9uZ0xhYmVsOiBtZXRhZGF0YS5sYWJlbC5sb25nW2xvY2FsZV0sXG4gICAgZGVzY3JpcHRpb246IG1ldGFkYXRhLmRlc2NyaXB0aW9uW2xvY2FsZV0sXG4gIH07XG59XG5cbi8qKlxuICogU2VhcmNoIHN0YXR1c2VzIGJ5IGxhYmVsXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSBzZWFyY2hUZXJtIC0gVGhlIHNlYXJjaCB0ZXJtIChjYXNlLWluc2Vuc2l0aXZlKVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGVcbiAqIEByZXR1cm5zIEFycmF5IG9mIHN0YXR1c2VzIG1hdGNoaW5nIHRoZSBzZWFyY2ggdGVybVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzZWFyY2hUZXJtOiBzdHJpbmcsXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbik6IFN0YXR1c1R5cGVNYXBbVF1bXSB7XG4gIGNvbnN0IGxvd2VyU2VhcmNoID0gc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpO1xuXG4gIHJldHVybiBmaWx0ZXJTdGF0dXNlc0J5RmVhdHVyZShmZWF0dXJlLCAobWV0YWRhdGEpID0+IHtcbiAgICBjb25zdCBzaG9ydExhYmVsID0gbWV0YWRhdGEubGFiZWwuc2hvcnRbbG9jYWxlXS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGxvbmdMYWJlbCA9IG1ldGFkYXRhLmxhYmVsLmxvbmdbbG9jYWxlXS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gbWV0YWRhdGEuZGVzY3JpcHRpb25bbG9jYWxlXS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIHNob3J0TGFiZWwuaW5jbHVkZXMobG93ZXJTZWFyY2gpIHx8IGxvbmdMYWJlbC5pbmNsdWRlcyhsb3dlclNlYXJjaCkgfHwgZGVzY3JpcHRpb24uaW5jbHVkZXMobG93ZXJTZWFyY2gpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIGdyb3VwZWQgYnkgY29sb3JcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHJldHVybnMgUmVjb3JkIG9mIGNvbG9ycyBtYXBwZWQgdG8gYXJyYXlzIG9mIHN0YXR1c2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncm91cFN0YXR1c2VzQnlDb2xvckZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuKTogUmVjb3JkPHN0cmluZywgU3RhdHVzVHlwZU1hcFtUXVtdPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgY29uc3QgbWV0YVR5cGVkID0gbWV0YSBhcyBTdGF0dXNNZXRhZGF0YTtcbiAgICBpZiAoIWdyb3VwZWRbbWV0YVR5cGVkLmNvbG9yXSkge1xuICAgICAgZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdID0gW107XG4gICAgfVxuICAgIGdyb3VwZWRbbWV0YVR5cGVkLmNvbG9yXS5wdXNoKHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGdyb3VwZWQ7XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSBncm91cGVkIGJ5IGljb25cbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHJldHVybnMgUmVjb3JkIG9mIGljb25zIG1hcHBlZCB0byBhcnJheXMgb2Ygc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwU3RhdHVzZXNCeUljb25Gb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBUKTogUmVjb3JkPHN0cmluZywgU3RhdHVzVHlwZU1hcFtUXVtdPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgY29uc3QgbWV0YVR5cGVkID0gbWV0YSBhcyBTdGF0dXNNZXRhZGF0YTtcbiAgICBpZiAoIWdyb3VwZWRbbWV0YVR5cGVkLmljb25dKSB7XG4gICAgICBncm91cGVkW21ldGFUeXBlZC5pY29uXSA9IFtdO1xuICAgIH1cbiAgICBncm91cGVkW21ldGFUeXBlZC5pY29uXS5wdXNoKHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGdyb3VwZWQ7XG59XG4iXX0=
package/package.json CHANGED
@@ -32,7 +32,7 @@
32
32
  "publishConfig": {
33
33
  "access": "public"
34
34
  },
35
- "version": "0.0.19",
35
+ "version": "0.0.20",
36
36
  "jest": {
37
37
  "coverageProvider": "v8",
38
38
  "testMatch": [