ngx-dynamic-entity-builder 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,166 +59,166 @@ export class FieldRulesListComponent {
59
59
  return `${rule.fieldId} ${cond} → ${action}`;
60
60
  }
61
61
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldRulesListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FieldRulesListComponent, isStandalone: true, selector: "ngx-field-rules-list", ngImport: i0, template: `
63
- <div class="deb-rules">
64
- <div class="deb-rules__head">
65
- <span class="deb-section-title">Rules</span>
66
- <button
67
- mat-stroked-button
68
- type="button"
69
- data-testid="add-rule"
70
- [disabled]="!store.selectedFieldId()"
71
- (click)="startCreate()"
72
- >
73
- <mat-icon>add</mat-icon> Rule
74
- </button>
75
- </div>
76
-
77
- @if (editing(); as draft) {
78
- <ngx-rule-form [rule]="draft" (save)="commit($event)" (cancel)="editing.set(null)" />
79
- }
80
-
81
- @if (store.rulesForSelectedField().length === 0 && !editing()) {
82
- <p class="deb-hint" data-testid="rules-empty">No rules on this field.</p>
83
- }
84
-
85
- @for (rule of store.rulesForSelectedField(); track rule.id) {
86
- <div class="deb-rule-item" [class.deb-rule-item--off]="!rule.enabled" data-testid="rule-item">
87
- <div class="deb-rule-item__body">
88
- <span class="deb-rule-item__summary">{{ summarize(rule) }}</span>
89
- <span class="deb-rule-item__meta">
90
- priority {{ rule.priority }} · {{ rule.targets.length }} target(s)
91
- </span>
92
- </div>
93
- <div class="deb-rule-item__actions">
94
- <mat-slide-toggle
95
- [checked]="rule.enabled"
96
- matTooltip="Enable / disable"
97
- (change)="store.toggleRule(rule.id!, $event.checked)"
98
- />
99
- <button
100
- mat-icon-button
101
- type="button"
102
- matTooltip="Move up"
103
- [attr.data-testid]="'rule-up-' + rule.id"
104
- (click)="store.moveRule(rule.id!, -1)"
105
- >
106
- <mat-icon>arrow_upward</mat-icon>
107
- </button>
108
- <button
109
- mat-icon-button
110
- type="button"
111
- matTooltip="Move down"
112
- [attr.data-testid]="'rule-down-' + rule.id"
113
- (click)="store.moveRule(rule.id!, 1)"
114
- >
115
- <mat-icon>arrow_downward</mat-icon>
116
- </button>
117
- <button
118
- mat-icon-button
119
- type="button"
120
- matTooltip="Edit rule"
121
- [attr.data-testid]="'rule-edit-' + rule.id"
122
- (click)="startEdit(rule)"
123
- >
124
- <mat-icon>edit</mat-icon>
125
- </button>
126
- <button
127
- mat-icon-button
128
- type="button"
129
- color="warn"
130
- matTooltip="Delete rule"
131
- [attr.data-testid]="'rule-delete-' + rule.id"
132
- (click)="store.removeRule(rule.id!)"
133
- >
134
- <mat-icon>delete</mat-icon>
135
- </button>
136
- </div>
137
- </div>
138
- }
139
- </div>
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FieldRulesListComponent, isStandalone: true, selector: "ngx-field-rules-list", ngImport: i0, template: `
63
+ <div class="deb-rules">
64
+ <div class="deb-rules__head">
65
+ <span class="deb-section-title">Rules</span>
66
+ <button
67
+ mat-stroked-button
68
+ type="button"
69
+ data-testid="add-rule"
70
+ [disabled]="!store.selectedFieldId()"
71
+ (click)="startCreate()"
72
+ >
73
+ <mat-icon>add</mat-icon> Rule
74
+ </button>
75
+ </div>
76
+
77
+ @if (editing(); as draft) {
78
+ <ngx-rule-form [rule]="draft" (save)="commit($event)" (cancel)="editing.set(null)" />
79
+ }
80
+
81
+ @if (store.rulesForSelectedField().length === 0 && !editing()) {
82
+ <p class="deb-hint" data-testid="rules-empty">No rules on this field.</p>
83
+ }
84
+
85
+ @for (rule of store.rulesForSelectedField(); track rule.id) {
86
+ <div class="deb-rule-item" [class.deb-rule-item--off]="!rule.enabled" data-testid="rule-item">
87
+ <div class="deb-rule-item__body">
88
+ <span class="deb-rule-item__summary">{{ summarize(rule) }}</span>
89
+ <span class="deb-rule-item__meta">
90
+ priority {{ rule.priority }} · {{ rule.targets.length }} target(s)
91
+ </span>
92
+ </div>
93
+ <div class="deb-rule-item__actions">
94
+ <mat-slide-toggle
95
+ [checked]="rule.enabled"
96
+ matTooltip="Enable / disable"
97
+ (change)="store.toggleRule(rule.id!, $event.checked)"
98
+ />
99
+ <button
100
+ mat-icon-button
101
+ type="button"
102
+ matTooltip="Move up"
103
+ [attr.data-testid]="'rule-up-' + rule.id"
104
+ (click)="store.moveRule(rule.id!, -1)"
105
+ >
106
+ <mat-icon>arrow_upward</mat-icon>
107
+ </button>
108
+ <button
109
+ mat-icon-button
110
+ type="button"
111
+ matTooltip="Move down"
112
+ [attr.data-testid]="'rule-down-' + rule.id"
113
+ (click)="store.moveRule(rule.id!, 1)"
114
+ >
115
+ <mat-icon>arrow_downward</mat-icon>
116
+ </button>
117
+ <button
118
+ mat-icon-button
119
+ type="button"
120
+ matTooltip="Edit rule"
121
+ [attr.data-testid]="'rule-edit-' + rule.id"
122
+ (click)="startEdit(rule)"
123
+ >
124
+ <mat-icon>edit</mat-icon>
125
+ </button>
126
+ <button
127
+ mat-icon-button
128
+ type="button"
129
+ color="warn"
130
+ matTooltip="Delete rule"
131
+ [attr.data-testid]="'rule-delete-' + rule.id"
132
+ (click)="store.removeRule(rule.id!)"
133
+ >
134
+ <mat-icon>delete</mat-icon>
135
+ </button>
136
+ </div>
137
+ </div>
138
+ }
139
+ </div>
140
140
  `, isInline: true, styles: [".deb-rules{display:flex;flex-direction:column;gap:8px}.deb-rules__head{display:flex;align-items:center;justify-content:space-between}.deb-rule-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.deb-rule-item--off{opacity:.55}.deb-rule-item__body{display:flex;flex-direction:column;min-width:0}.deb-rule-item__summary{font-size:13px;font-weight:600;overflow-wrap:anywhere}.deb-rule-item__meta{font-size:11px;color:#6b7280}.deb-rule-item__actions{display:flex;align-items:center;flex:0 0 auto}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: RuleFormComponent, selector: "ngx-rule-form", inputs: ["rule"], outputs: ["save", "cancel"] }] });
141
141
  }
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldRulesListComponent, decorators: [{
143
143
  type: Component,
144
- args: [{ selector: 'ngx-field-rules-list', standalone: true, imports: [MatButtonModule, MatIconModule, MatSlideToggleModule, MatTooltipModule, RuleFormComponent], template: `
145
- <div class="deb-rules">
146
- <div class="deb-rules__head">
147
- <span class="deb-section-title">Rules</span>
148
- <button
149
- mat-stroked-button
150
- type="button"
151
- data-testid="add-rule"
152
- [disabled]="!store.selectedFieldId()"
153
- (click)="startCreate()"
154
- >
155
- <mat-icon>add</mat-icon> Rule
156
- </button>
157
- </div>
158
-
159
- @if (editing(); as draft) {
160
- <ngx-rule-form [rule]="draft" (save)="commit($event)" (cancel)="editing.set(null)" />
161
- }
162
-
163
- @if (store.rulesForSelectedField().length === 0 && !editing()) {
164
- <p class="deb-hint" data-testid="rules-empty">No rules on this field.</p>
165
- }
166
-
167
- @for (rule of store.rulesForSelectedField(); track rule.id) {
168
- <div class="deb-rule-item" [class.deb-rule-item--off]="!rule.enabled" data-testid="rule-item">
169
- <div class="deb-rule-item__body">
170
- <span class="deb-rule-item__summary">{{ summarize(rule) }}</span>
171
- <span class="deb-rule-item__meta">
172
- priority {{ rule.priority }} · {{ rule.targets.length }} target(s)
173
- </span>
174
- </div>
175
- <div class="deb-rule-item__actions">
176
- <mat-slide-toggle
177
- [checked]="rule.enabled"
178
- matTooltip="Enable / disable"
179
- (change)="store.toggleRule(rule.id!, $event.checked)"
180
- />
181
- <button
182
- mat-icon-button
183
- type="button"
184
- matTooltip="Move up"
185
- [attr.data-testid]="'rule-up-' + rule.id"
186
- (click)="store.moveRule(rule.id!, -1)"
187
- >
188
- <mat-icon>arrow_upward</mat-icon>
189
- </button>
190
- <button
191
- mat-icon-button
192
- type="button"
193
- matTooltip="Move down"
194
- [attr.data-testid]="'rule-down-' + rule.id"
195
- (click)="store.moveRule(rule.id!, 1)"
196
- >
197
- <mat-icon>arrow_downward</mat-icon>
198
- </button>
199
- <button
200
- mat-icon-button
201
- type="button"
202
- matTooltip="Edit rule"
203
- [attr.data-testid]="'rule-edit-' + rule.id"
204
- (click)="startEdit(rule)"
205
- >
206
- <mat-icon>edit</mat-icon>
207
- </button>
208
- <button
209
- mat-icon-button
210
- type="button"
211
- color="warn"
212
- matTooltip="Delete rule"
213
- [attr.data-testid]="'rule-delete-' + rule.id"
214
- (click)="store.removeRule(rule.id!)"
215
- >
216
- <mat-icon>delete</mat-icon>
217
- </button>
218
- </div>
219
- </div>
220
- }
221
- </div>
144
+ args: [{ selector: 'ngx-field-rules-list', standalone: true, imports: [MatButtonModule, MatIconModule, MatSlideToggleModule, MatTooltipModule, RuleFormComponent], template: `
145
+ <div class="deb-rules">
146
+ <div class="deb-rules__head">
147
+ <span class="deb-section-title">Rules</span>
148
+ <button
149
+ mat-stroked-button
150
+ type="button"
151
+ data-testid="add-rule"
152
+ [disabled]="!store.selectedFieldId()"
153
+ (click)="startCreate()"
154
+ >
155
+ <mat-icon>add</mat-icon> Rule
156
+ </button>
157
+ </div>
158
+
159
+ @if (editing(); as draft) {
160
+ <ngx-rule-form [rule]="draft" (save)="commit($event)" (cancel)="editing.set(null)" />
161
+ }
162
+
163
+ @if (store.rulesForSelectedField().length === 0 && !editing()) {
164
+ <p class="deb-hint" data-testid="rules-empty">No rules on this field.</p>
165
+ }
166
+
167
+ @for (rule of store.rulesForSelectedField(); track rule.id) {
168
+ <div class="deb-rule-item" [class.deb-rule-item--off]="!rule.enabled" data-testid="rule-item">
169
+ <div class="deb-rule-item__body">
170
+ <span class="deb-rule-item__summary">{{ summarize(rule) }}</span>
171
+ <span class="deb-rule-item__meta">
172
+ priority {{ rule.priority }} · {{ rule.targets.length }} target(s)
173
+ </span>
174
+ </div>
175
+ <div class="deb-rule-item__actions">
176
+ <mat-slide-toggle
177
+ [checked]="rule.enabled"
178
+ matTooltip="Enable / disable"
179
+ (change)="store.toggleRule(rule.id!, $event.checked)"
180
+ />
181
+ <button
182
+ mat-icon-button
183
+ type="button"
184
+ matTooltip="Move up"
185
+ [attr.data-testid]="'rule-up-' + rule.id"
186
+ (click)="store.moveRule(rule.id!, -1)"
187
+ >
188
+ <mat-icon>arrow_upward</mat-icon>
189
+ </button>
190
+ <button
191
+ mat-icon-button
192
+ type="button"
193
+ matTooltip="Move down"
194
+ [attr.data-testid]="'rule-down-' + rule.id"
195
+ (click)="store.moveRule(rule.id!, 1)"
196
+ >
197
+ <mat-icon>arrow_downward</mat-icon>
198
+ </button>
199
+ <button
200
+ mat-icon-button
201
+ type="button"
202
+ matTooltip="Edit rule"
203
+ [attr.data-testid]="'rule-edit-' + rule.id"
204
+ (click)="startEdit(rule)"
205
+ >
206
+ <mat-icon>edit</mat-icon>
207
+ </button>
208
+ <button
209
+ mat-icon-button
210
+ type="button"
211
+ color="warn"
212
+ matTooltip="Delete rule"
213
+ [attr.data-testid]="'rule-delete-' + rule.id"
214
+ (click)="store.removeRule(rule.id!)"
215
+ >
216
+ <mat-icon>delete</mat-icon>
217
+ </button>
218
+ </div>
219
+ </div>
220
+ }
221
+ </div>
222
222
  `, styles: [".deb-rules{display:flex;flex-direction:column;gap:8px}.deb-rules__head{display:flex;align-items:center;justify-content:space-between}.deb-rule-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.deb-rule-item--off{opacity:.55}.deb-rule-item__body{display:flex;flex-direction:column;min-width:0}.deb-rule-item__summary{font-size:13px;font-weight:600;overflow-wrap:anywhere}.deb-rule-item__meta{font-size:11px;color:#6b7280}.deb-rule-item__actions{display:flex;align-items:center;flex:0 0 auto}\n"] }]
223
223
  }] });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUUxRDs7O0dBR0c7QUFrSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEQseUZBQXlGO0lBQ3RFLE9BQU8sR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO0lBRWpELFdBQVc7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLElBQUksUUFBUTtZQUNwRCxPQUFPO1lBQ1AsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUM1QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUM7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFjO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxNQUFNLENBQUMsSUFBYztRQUM3QixJQUFJLElBQUksQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELGdFQUFnRTtJQUN0RCxTQUFTLENBQUMsSUFBYztRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVTthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDUCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE9BQU87Z0JBQzVELENBQUMsQ0FBQyxNQUFNO2dCQUNSLENBQUMsQ0FBQyxNQUFNO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsRCxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLE1BQU0sTUFBTSxFQUFFLENBQUM7SUFDL0MsQ0FBQzt3R0EvQ1UsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0ZBN0h4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVULDJvQkEvRVMsZUFBZSx3VUFBRSxhQUFhLG1MQUFFLG9CQUFvQixrV0FBRSxnQkFBZ0IsNlRBQUUsaUJBQWlCOzs0RkE4SHhGLHVCQUF1QjtrQkFqSW5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsWUFDMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThFVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHR5cGUgeyBGb3JtUnVsZSB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcclxuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSAnLi4vY2xvbmUnO1xyXG5pbXBvcnQgeyBSdWxlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcnVsZS1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogRmllbGRSdWxlc0xpc3RDb21wb25lbnQg4oCUIHRoZSBydWxlcyBhdHRhY2hlZCB0byB0aGUgc2VsZWN0ZWQgZmllbGQ6IHZpZXcsIHJlb3JkZXIsXHJcbiAqIGVuYWJsZS9kaXNhYmxlLCBlZGl0LCBkZWxldGUuIGBSdWxlRm9ybUNvbXBvbmVudGAgYXV0aG9ycyBvbmUgcnVsZTsgdGhpcyBvd25zIHRoZSBzZXQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25neC1maWVsZC1ydWxlcy1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBSdWxlRm9ybUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZXNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlc19faGVhZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIj5SdWxlczwvc3Bhbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhZGQtcnVsZVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXN0b3JlLnNlbGVjdGVkRmllbGRJZCgpXCJcclxuICAgICAgICAgIChjbGljayk9XCJzdGFydENyZWF0ZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gUnVsZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIEBpZiAoZWRpdGluZygpOyBhcyBkcmFmdCkge1xyXG4gICAgICAgIDxuZ3gtcnVsZS1mb3JtIFtydWxlXT1cImRyYWZ0XCIgKHNhdmUpPVwiY29tbWl0KCRldmVudClcIiAoY2FuY2VsKT1cImVkaXRpbmcuc2V0KG51bGwpXCIgLz5cclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmIChzdG9yZS5ydWxlc0ZvclNlbGVjdGVkRmllbGQoKS5sZW5ndGggPT09IDAgJiYgIWVkaXRpbmcoKSkge1xyXG4gICAgICAgIDxwIGNsYXNzPVwiZGViLWhpbnRcIiBkYXRhLXRlc3RpZD1cInJ1bGVzLWVtcHR5XCI+Tm8gcnVsZXMgb24gdGhpcyBmaWVsZC48L3A+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBmb3IgKHJ1bGUgb2Ygc3RvcmUucnVsZXNGb3JTZWxlY3RlZEZpZWxkKCk7IHRyYWNrIHJ1bGUuaWQpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtaXRlbVwiIFtjbGFzcy5kZWItcnVsZS1pdGVtLS1vZmZdPVwiIXJ1bGUuZW5hYmxlZFwiIGRhdGEtdGVzdGlkPVwicnVsZS1pdGVtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fYm9keVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX3N1bW1hcnlcIj57eyBzdW1tYXJpemUocnVsZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fbWV0YVwiPlxyXG4gICAgICAgICAgICAgIHByaW9yaXR5IHt7IHJ1bGUucHJpb3JpdHkgfX0gwrcge3sgcnVsZS50YXJnZXRzLmxlbmd0aCB9fSB0YXJnZXQocylcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInJ1bGUuZW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkVuYWJsZSAvIGRpc2FibGVcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic3RvcmUudG9nZ2xlUnVsZShydWxlLmlkISwgJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIHVwXCJcclxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS11cC0nICsgcnVsZS5pZFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLm1vdmVSdWxlKHJ1bGUuaWQhLCAtMSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X3Vwd2FyZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgZG93blwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3J1bGUtZG93bi0nICsgcnVsZS5pZFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLm1vdmVSdWxlKHJ1bGUuaWQhLCAxKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZG93bndhcmQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJFZGl0IHJ1bGVcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidydWxlLWVkaXQtJyArIHJ1bGUuaWRcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdGFydEVkaXQocnVsZSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkRlbGV0ZSBydWxlXCJcclxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS1kZWxldGUtJyArIHJ1bGUuaWRcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5yZW1vdmVSdWxlKHJ1bGUuaWQhKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgLmRlYi1ydWxlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5kZWItcnVsZXNfX2hlYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIH1cclxuICAgICAgLmRlYi1ydWxlLWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmRlYi1ydWxlLWl0ZW0tLW9mZiB7XHJcbiAgICAgICAgb3BhY2l0eTogMC41NTtcclxuICAgICAgfVxyXG4gICAgICAuZGViLXJ1bGUtaXRlbV9fYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgfVxyXG4gICAgICAuZGViLXJ1bGUtaXRlbV9fc3VtbWFyeSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XHJcbiAgICAgIH1cclxuICAgICAgLmRlYi1ydWxlLWl0ZW1fX21ldGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICBjb2xvcjogIzZiNzI4MDtcclxuICAgICAgfVxyXG4gICAgICAuZGViLXJ1bGUtaXRlbV9fYWN0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWVsZFJ1bGVzTGlzdENvbXBvbmVudCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KEJ1aWxkZXJTdG9yZSk7XHJcblxyXG4gIC8qKiBUaGUgcnVsZSBjdXJyZW50bHkgb3BlbiBpbiB0aGUgZWRpdG9yIOKAlCBhIG5ldyBkcmFmdCBvciBhIGNvcHkgb2YgYW4gZXhpc3RpbmcgcnVsZS4gKi9cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdGluZyA9IHNpZ25hbDxGb3JtUnVsZSB8IG51bGw+KG51bGwpO1xyXG5cclxuICBwcm90ZWN0ZWQgc3RhcnRDcmVhdGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWVsZElkID0gdGhpcy5zdG9yZS5zZWxlY3RlZEZpZWxkSWQoKTtcclxuICAgIGlmICghZmllbGRJZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lZGl0aW5nLnNldCh7XHJcbiAgICAgIGZvcm1Db25maWdJZDogdGhpcy5zdG9yZS5jb25maWcoKS5lbnRpdHkgfHwgJ2Zvcm0tMScsXHJcbiAgICAgIGZpZWxkSWQsXHJcbiAgICAgIGNvbmRpdGlvbnM6IFt7IG9wZXJhdG9yOiAnRVFVQUwnLCBjb21wYXJlVHlwZTogJ3ZhbHVlJywgdmFsdWU6ICcnIH1dLFxyXG4gICAgICBhY3Rpb246IHsgdHlwZTogJ3Zpc2liaWxpdHknLCB2YWx1ZTogZmFsc2UgfSxcclxuICAgICAgdGFyZ2V0czogW3sgaWQ6IGZpZWxkSWQsIHR5cGU6ICdmaWVsZCcgfV0sXHJcbiAgICAgIGVuYWJsZWQ6IHRydWUsXHJcbiAgICAgIHByaW9yaXR5OiB0aGlzLnN0b3JlLnJ1bGVzKCkubGVuZ3RoICsgMSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHN0YXJ0RWRpdChydWxlOiBGb3JtUnVsZSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0aW5nLnNldChkZWVwQ2xvbmUocnVsZSkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNvbW1pdChydWxlOiBGb3JtUnVsZSk6IHZvaWQge1xyXG4gICAgaWYgKHJ1bGUuaWQpIHRoaXMuc3RvcmUudXBkYXRlUnVsZShydWxlLmlkLCBydWxlKTtcclxuICAgIGVsc2UgdGhpcy5zdG9yZS5hZGRSdWxlKHJ1bGUpO1xyXG4gICAgdGhpcy5lZGl0aW5nLnNldChudWxsKTtcclxuICB9XHJcblxyXG4gIC8qKiBPbmUtbGluZSBodW1hbiBzdW1tYXJ5OiBgc3RhdHVzIEVRVUFMIFwiYXJjaGl2ZWRcIiDihpIgaGlkZWAuICovXHJcbiAgcHJvdGVjdGVkIHN1bW1hcml6ZShydWxlOiBGb3JtUnVsZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjb25kID0gcnVsZS5jb25kaXRpb25zXHJcbiAgICAgIC5tYXAoYyA9PiB7XHJcbiAgICAgICAgY29uc3QgcmhzID0gYy5jb21wYXJlVHlwZSA9PT0gJ2ZpZWxkJyA/IGMuY29tcGFyZVRvRmllbGQgOiBKU09OLnN0cmluZ2lmeShjLnZhbHVlID8/ICcnKTtcclxuICAgICAgICByZXR1cm4gYCR7Yy5vcGVyYXRvcn0gJHtyaHMgPz8gJyd9YC50cmltKCk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5qb2luKCcgQU5EICcpO1xyXG5cclxuICAgIGNvbnN0IGFjdGlvbiA9XHJcbiAgICAgIHJ1bGUuYWN0aW9uLnR5cGUgPT09ICd2aXNpYmlsaXR5J1xyXG4gICAgICAgID8gcnVsZS5hY3Rpb24udmFsdWUgPT09IGZhbHNlIHx8IHJ1bGUuYWN0aW9uLnZhbHVlID09PSAnZmFsc2UnXHJcbiAgICAgICAgICA/ICdoaWRlJ1xyXG4gICAgICAgICAgOiAnc2hvdydcclxuICAgICAgICA6IGAke3J1bGUuYWN0aW9uLnR5cGV9OiAke3J1bGUuYWN0aW9uLnZhbHVlfWA7XHJcblxyXG4gICAgcmV0dXJuIGAke3J1bGUuZmllbGRJZH0gJHtjb25kfSDihpIgJHthY3Rpb259YDtcclxuICB9XHJcbn1cclxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUUxRDs7O0dBR0c7QUFrSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEQseUZBQXlGO0lBQ3RFLE9BQU8sR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO0lBRWpELFdBQVc7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLElBQUksUUFBUTtZQUNwRCxPQUFPO1lBQ1AsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUM1QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUM7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFjO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxNQUFNLENBQUMsSUFBYztRQUM3QixJQUFJLElBQUksQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELGdFQUFnRTtJQUN0RCxTQUFTLENBQUMsSUFBYztRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVTthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDUCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE9BQU87Z0JBQzVELENBQUMsQ0FBQyxNQUFNO2dCQUNSLENBQUMsQ0FBQyxNQUFNO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsRCxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLE1BQU0sTUFBTSxFQUFFLENBQUM7SUFDL0MsQ0FBQzt3R0EvQ1UsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0ZBN0h4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVULDJvQkEvRVMsZUFBZSx3VUFBRSxhQUFhLG1MQUFFLG9CQUFvQixrV0FBRSxnQkFBZ0IsNlRBQUUsaUJBQWlCOzs0RkE4SHhGLHVCQUF1QjtrQkFqSW5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsWUFDMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThFVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgdHlwZSB7IEZvcm1SdWxlIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJy4uL2Nsb25lJztcbmltcG9ydCB7IFJ1bGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWZvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiBGaWVsZFJ1bGVzTGlzdENvbXBvbmVudCDigJQgdGhlIHJ1bGVzIGF0dGFjaGVkIHRvIHRoZSBzZWxlY3RlZCBmaWVsZDogdmlldywgcmVvcmRlcixcbiAqIGVuYWJsZS9kaXNhYmxlLCBlZGl0LCBkZWxldGUuIGBSdWxlRm9ybUNvbXBvbmVudGAgYXV0aG9ycyBvbmUgcnVsZTsgdGhpcyBvd25zIHRoZSBzZXQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1maWVsZC1ydWxlcy1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0U2xpZGVUb2dnbGVNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIFJ1bGVGb3JtQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGVzX19oZWFkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIj5SdWxlczwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRkLXJ1bGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhc3RvcmUuc2VsZWN0ZWRGaWVsZElkKClcIlxuICAgICAgICAgIChjbGljayk9XCJzdGFydENyZWF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPiBSdWxlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoZWRpdGluZygpOyBhcyBkcmFmdCkge1xuICAgICAgICA8bmd4LXJ1bGUtZm9ybSBbcnVsZV09XCJkcmFmdFwiIChzYXZlKT1cImNvbW1pdCgkZXZlbnQpXCIgKGNhbmNlbCk9XCJlZGl0aW5nLnNldChudWxsKVwiIC8+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoc3RvcmUucnVsZXNGb3JTZWxlY3RlZEZpZWxkKCkubGVuZ3RoID09PSAwICYmICFlZGl0aW5nKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJkZWItaGludFwiIGRhdGEtdGVzdGlkPVwicnVsZXMtZW1wdHlcIj5ObyBydWxlcyBvbiB0aGlzIGZpZWxkLjwvcD5cbiAgICAgIH1cblxuICAgICAgQGZvciAocnVsZSBvZiBzdG9yZS5ydWxlc0ZvclNlbGVjdGVkRmllbGQoKTsgdHJhY2sgcnVsZS5pZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtaXRlbVwiIFtjbGFzcy5kZWItcnVsZS1pdGVtLS1vZmZdPVwiIXJ1bGUuZW5hYmxlZFwiIGRhdGEtdGVzdGlkPVwicnVsZS1pdGVtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX2JvZHlcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fc3VtbWFyeVwiPnt7IHN1bW1hcml6ZShydWxlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fbWV0YVwiPlxuICAgICAgICAgICAgICBwcmlvcml0eSB7eyBydWxlLnByaW9yaXR5IH19IMK3IHt7IHJ1bGUudGFyZ2V0cy5sZW5ndGggfX0gdGFyZ2V0KHMpXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInJ1bGUuZW5hYmxlZFwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJFbmFibGUgLyBkaXNhYmxlXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzdG9yZS50b2dnbGVSdWxlKHJ1bGUuaWQhLCAkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSB1cFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidydWxlLXVwLScgKyBydWxlLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLm1vdmVSdWxlKHJ1bGUuaWQhLCAtMSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIGRvd25cIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS1kb3duLScgKyBydWxlLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLm1vdmVSdWxlKHJ1bGUuaWQhLCAxKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRWRpdCBydWxlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3J1bGUtZWRpdC0nICsgcnVsZS5pZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdGFydEVkaXQocnVsZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIHJ1bGVcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS1kZWxldGUtJyArIHJ1bGUuaWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUucmVtb3ZlUnVsZShydWxlLmlkISlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRlYi1ydWxlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlc19faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtLS1vZmYge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlLWl0ZW1fX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fc3VtbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgY29sb3I6ICM2YjcyODA7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkUnVsZXNMaXN0Q29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KEJ1aWxkZXJTdG9yZSk7XG5cbiAgLyoqIFRoZSBydWxlIGN1cnJlbnRseSBvcGVuIGluIHRoZSBlZGl0b3Ig4oCUIGEgbmV3IGRyYWZ0IG9yIGEgY29weSBvZiBhbiBleGlzdGluZyBydWxlLiAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdGluZyA9IHNpZ25hbDxGb3JtUnVsZSB8IG51bGw+KG51bGwpO1xuXG4gIHByb3RlY3RlZCBzdGFydENyZWF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZElkID0gdGhpcy5zdG9yZS5zZWxlY3RlZEZpZWxkSWQoKTtcbiAgICBpZiAoIWZpZWxkSWQpIHJldHVybjtcbiAgICB0aGlzLmVkaXRpbmcuc2V0KHtcbiAgICAgIGZvcm1Db25maWdJZDogdGhpcy5zdG9yZS5jb25maWcoKS5lbnRpdHkgfHwgJ2Zvcm0tMScsXG4gICAgICBmaWVsZElkLFxuICAgICAgY29uZGl0aW9uczogW3sgb3BlcmF0b3I6ICdFUVVBTCcsIGNvbXBhcmVUeXBlOiAndmFsdWUnLCB2YWx1ZTogJycgfV0sXG4gICAgICBhY3Rpb246IHsgdHlwZTogJ3Zpc2liaWxpdHknLCB2YWx1ZTogZmFsc2UgfSxcbiAgICAgIHRhcmdldHM6IFt7IGlkOiBmaWVsZElkLCB0eXBlOiAnZmllbGQnIH1dLFxuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIHByaW9yaXR5OiB0aGlzLnN0b3JlLnJ1bGVzKCkubGVuZ3RoICsgMSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGFydEVkaXQocnVsZTogRm9ybVJ1bGUpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRpbmcuc2V0KGRlZXBDbG9uZShydWxlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tbWl0KHJ1bGU6IEZvcm1SdWxlKTogdm9pZCB7XG4gICAgaWYgKHJ1bGUuaWQpIHRoaXMuc3RvcmUudXBkYXRlUnVsZShydWxlLmlkLCBydWxlKTtcbiAgICBlbHNlIHRoaXMuc3RvcmUuYWRkUnVsZShydWxlKTtcbiAgICB0aGlzLmVkaXRpbmcuc2V0KG51bGwpO1xuICB9XG5cbiAgLyoqIE9uZS1saW5lIGh1bWFuIHN1bW1hcnk6IGBzdGF0dXMgRVFVQUwgXCJhcmNoaXZlZFwiIOKGkiBoaWRlYC4gKi9cbiAgcHJvdGVjdGVkIHN1bW1hcml6ZShydWxlOiBGb3JtUnVsZSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZCA9IHJ1bGUuY29uZGl0aW9uc1xuICAgICAgLm1hcChjID0+IHtcbiAgICAgICAgY29uc3QgcmhzID0gYy5jb21wYXJlVHlwZSA9PT0gJ2ZpZWxkJyA/IGMuY29tcGFyZVRvRmllbGQgOiBKU09OLnN0cmluZ2lmeShjLnZhbHVlID8/ICcnKTtcbiAgICAgICAgcmV0dXJuIGAke2Mub3BlcmF0b3J9ICR7cmhzID8/ICcnfWAudHJpbSgpO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuXG4gICAgY29uc3QgYWN0aW9uID1cbiAgICAgIHJ1bGUuYWN0aW9uLnR5cGUgPT09ICd2aXNpYmlsaXR5J1xuICAgICAgICA/IHJ1bGUuYWN0aW9uLnZhbHVlID09PSBmYWxzZSB8fCBydWxlLmFjdGlvbi52YWx1ZSA9PT0gJ2ZhbHNlJ1xuICAgICAgICAgID8gJ2hpZGUnXG4gICAgICAgICAgOiAnc2hvdydcbiAgICAgICAgOiBgJHtydWxlLmFjdGlvbi50eXBlfTogJHtydWxlLmFjdGlvbi52YWx1ZX1gO1xuXG4gICAgcmV0dXJuIGAke3J1bGUuZmllbGRJZH0gJHtjb25kfSDihpIgJHthY3Rpb259YDtcbiAgfVxufVxuIl19
@@ -49,8 +49,14 @@ export class ReferencedFieldConfigComponent {
49
49
  this.store.syncReferencedField(field.id, sourceField);
50
50
  }
51
51
  }
52
+ /**
53
+ * Both callers pass the id of the field they just edited. This used to ignore that
54
+ * argument and read `store.selectedField()` instead, so whenever the edited field was not
55
+ * the selected one it checked drift against the wrong field's source entity — or bailed
56
+ * out entirely if nothing was selected.
57
+ */
52
58
  async checkDriftForField(fieldId) {
53
- const f = this.store.selectedField();
59
+ const f = this.store.fields().find(field => field.id === fieldId);
54
60
  if (!f || !f.isReferenced || !f.referencedEntityKey || !f.referencedFieldId || !this.configSource)
55
61
  return;
56
62
  const sourceConfig = await this.configSource.getConfig(f.referencedEntityKey);
@@ -225,4 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
225
231
  `,
226
232
  }]
227
233
  }] });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlZC1maWVsZC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3JlZmVyZW5jZWQtZmllbGQtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBNkV4RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3RCLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBK0IsQ0FBQztJQUM3RixLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMs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QUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2Qsb0JBQW9CO3FCQUNyQjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IENvbmZpZ1NvdXJjZVNlcnZpY2UgfSBmcm9tICduZ3gtZHluYW1pYy1lbnRpdHknO1xuaW1wb3J0IHR5cGUgeyBOZXN0ZWRGaWVsZENvbmZpZyB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcbmltcG9ydCB7IEJ1aWxkZXJTdG9yZSB9IGZyb20gJy4uL2J1aWxkZXItc3RvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1yZWZlcmVuY2VkLWZpZWxkLWNvbmZpZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChmaWVsZCgpOyBhcyBmKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJlZmVyZW5jZWQtZmllbGRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDE2cHg7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWItcm93XCIgc3R5bGU9XCJqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDhweDtcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1zZWN0aW9uLXRpdGxlXCIgc3R5bGU9XCJtYXJnaW46MDtcIj5SZWZlcmVuY2VkIEZpZWxkPC9zcGFuPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInRvZ2dsZS1yZWZlcmVuY2VkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cImYuaXNSZWZlcmVuY2VkID8/IGZhbHNlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZVJlZmVyZW5jZWQoZiwgJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgTGlua1xuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChmLmlzUmVmZXJlbmNlZCkge1xuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiA4cHg7XCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlNvdXJjZSBFbnRpdHkgS2V5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJyZWZlcmVuY2VkLWVudGl0eS1rZXlcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmLnJlZmVyZW5jZWRFbnRpdHlLZXkgPz8gJydcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVFbnRpdHlLZXkoZiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZS5nLiBpbmRpdmlkdWFsc1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogOHB4O1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5Tb3VyY2UgRmllbGQgSUQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInJlZmVyZW5jZWQtZmllbGQtaWRcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmLnJlZmVyZW5jZWRGaWVsZElkID8/ICcnXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlRmllbGRJZChmLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIGZpcnN0TmFtZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICBAaWYgKGYuaGFzRHJpZnQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItZHJpZnQtYmFubmVyXCIgZGF0YS10ZXN0aWQ9XCJkcmlmdC1iYW5uZXJcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmYzZTA7IGJvcmRlcjogMXB4IHNvbGlkICNmZmUwYjI7IHBhZGRpbmc6IDhweCAxMnB4OyBib3JkZXItcmFkaXVzOiA0cHg7IG1hcmdpbi10b3A6IDhweDtcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1yb3dcIiBzdHlsZT1cImdhcDogOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBjb2xvcjogI2U2NTEwMDsgZm9udC13ZWlnaHQ6IDUwMDtcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJmb250LXNpemU6IDE4cHg7IHdpZHRoOjE4cHg7IGhlaWdodDoxOHB4O1wiPndhcm5pbmc8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPlNvdXJjZSBmaWVsZCBkZWZpbml0aW9uIGhhcyBkcmlmdGVkITwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luOiA0cHggMCA4cHggMDsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogIzY2NjtcIj5cbiAgICAgICAgICAgICAgICBUaGUgdXBzdHJlYW0gZmllbGQgY29uZmlndXJhdGlvbiBpbiBcInt7IGYucmVmZXJlbmNlZEVudGl0eUtleSB9fVwiIGhhcyBldm9sdmVkLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic3luYy1zb3VyY2UtYnRuXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3luY1dpdGhTb3VyY2UoZilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgU3luYyB3aXRoIFNvdXJjZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBSZWZlcmVuY2VkRmllbGRDb25maWdDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoQnVpbGRlclN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZ1NvdXJjZSA9IGluamVjdChDb25maWdTb3VyY2VTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pIGFzIENvbmZpZ1NvdXJjZVNlcnZpY2UgfCBudWxsO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmllbGQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN0b3JlLnNlbGVjdGVkRmllbGQoKSk7XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVJlZmVyZW5jZWQoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnLCBlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc3RvcmUudXBkYXRlRmllbGQoZmllbGQuaWQsIHsgaXNSZWZlcmVuY2VkOiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3JlLnVubGlua1JlZmVyZW5jZWRGaWVsZChmaWVsZC5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUVudGl0eUtleShmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGtleS50cmltKCk7XG4gICAgdGhpcy5zdG9yZS51cGRhdGVGaWVsZChmaWVsZC5pZCwgeyByZWZlcmVuY2VkRW50aXR5S2V5OiB0cmltbWVkIHx8IHVuZGVmaW5lZCB9KTtcbiAgICB0aGlzLmNoZWNrRHJpZnRGb3JGaWVsZChmaWVsZC5pZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRmllbGRJZChmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIGZpZWxkSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBmaWVsZElkLnRyaW0oKTtcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZUZpZWxkKGZpZWxkLmlkLCB7IHJlZmVyZW5jZWRGaWVsZElkOiB0cmltbWVkIHx8IHVuZGVmaW5lZCB9KTtcbiAgICB0aGlzLmNoZWNrRHJpZnRGb3JGaWVsZChmaWVsZC5pZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgc3luY1dpdGhTb3VyY2UoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFmaWVsZC5yZWZlcmVuY2VkRW50aXR5S2V5IHx8ICFmaWVsZC5yZWZlcmVuY2VkRmllbGRJZCB8fCAhdGhpcy5jb25maWdTb3VyY2UpIHJldHVybjtcbiAgICBjb25zdCBzb3VyY2VDb25maWcgPSBhd2FpdCB0aGlzLmNvbmZpZ1NvdXJjZS5nZXRDb25maWcoZmllbGQucmVmZXJlbmNlZEVudGl0eUtleSk7XG4gICAgaWYgKCFzb3VyY2VDb25maWcpIHJldHVybjtcblxuICAgIGNvbnN0IHNvdXJjZUZpZWxkID0gdGhpcy5maW5kRmllbGQoc291cmNlQ29uZmlnLnRhYnMgPz8gW10sIGZpZWxkLnJlZmVyZW5jZWRGaWVsZElkKTtcbiAgICBpZiAoc291cmNlRmllbGQpIHtcbiAgICAgIHRoaXMuc3RvcmUuc3luY1JlZmVyZW5jZWRGaWVsZChmaWVsZC5pZCwgc291cmNlRmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGYgPSB0aGlzLnN0b3JlLnNlbGVjdGVkRmllbGQoKTtcbiAgICBpZiAoIWYgfHwgIWYuaXNSZWZlcmVuY2VkIHx8ICFmLnJlZmVyZW5jZWRFbnRpdHlLZXkgfHwgIWYucmVmZXJlbmNlZEZpZWxkSWQgfHwgIXRoaXMuY29uZmlnU291cmNlKSByZXR1cm47XG4gICAgY29uc3Qgc291cmNlQ29uZmlnID0gYXdhaXQgdGhpcy5jb25maWdTb3VyY2UuZ2V0Q29uZmlnKGYucmVmZXJlbmNlZEVudGl0eUtleSk7XG4gICAgaWYgKHNvdXJjZUNvbmZpZykge1xuICAgICAgdGhpcy5zdG9yZS5jaGVja0RyaWZ0KHsgW2YucmVmZXJlbmNlZEVudGl0eUtleV06IHNvdXJjZUNvbmZpZyB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRGaWVsZCh0YWJzOiBhbnlbXSwgaWQ6IHN0cmluZyk6IE5lc3RlZEZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGNvbnN0IHQgb2YgdGFicykge1xuICAgICAgZm9yIChjb25zdCBmIG9mIHQuZmllbGRzID8/IFtdKSB7XG4gICAgICAgIGlmIChmLmlkID09PSBpZCkgcmV0dXJuIGY7XG4gICAgICAgIGlmIChmLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmZpbmRGaWVsZEluTGlzdChmLmNoaWxkcmVuLCBpZCk7XG4gICAgICAgICAgaWYgKHJlcykgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmllbGRJbkxpc3QoZmllbGRzOiBOZXN0ZWRGaWVsZENvbmZpZ1tdLCBpZDogc3RyaW5nKTogTmVzdGVkRmllbGRDb25maWcgfCB1bmRlZmluZWQge1xuICAgIGZvciAoY29uc3QgZiBvZiBmaWVsZHMpIHtcbiAgICAgIGlmIChmLmlkID09PSBpZCkgcmV0dXJuIGY7XG4gICAgICBpZiAoZi5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHRoaXMuZmluZEZpZWxkSW5MaXN0KGYuY2hpbGRyZW4sIGlkKTtcbiAgICAgICAgaWYgKHJlcykgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlZC1maWVsZC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3JlZmVyZW5jZWQtZmllbGQtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBNkV4RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3RCLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBK0IsQ0FBQztJQUM3RixLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMs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QjtrQkEzRTFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLG9CQUFvQjtxQkFDckI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgQ29uZmlnU291cmNlU2VydmljZSB9IGZyb20gJ25neC1keW5hbWljLWVudGl0eSc7XG5pbXBvcnQgdHlwZSB7IE5lc3RlZEZpZWxkQ29uZmlnIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJlZmVyZW5jZWQtZmllbGQtY29uZmlnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGZpZWxkKCk7IGFzIGYpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcmVmZXJlbmNlZC1maWVsZFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTZweDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogOHB4O1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIiBzdHlsZT1cIm1hcmdpbjowO1wiPlJlZmVyZW5jZWQgRmllbGQ8L3NwYW4+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwidG9nZ2xlLXJlZmVyZW5jZWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZi5pc1JlZmVyZW5jZWQgPz8gZmFsc2VcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlUmVmZXJlbmNlZChmLCAkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBMaW5rXG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGYuaXNSZWZlcmVuY2VkKSB7XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDhweDtcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+U291cmNlIEVudGl0eSBLZXk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInJlZmVyZW5jZWQtZW50aXR5LWtleVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYucmVmZXJlbmNlZEVudGl0eUtleSA/PyAnJ1wiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUVudGl0eUtleShmLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIGluZGl2aWR1YWxzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiA4cHg7XCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlNvdXJjZSBGaWVsZCBJRDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwicmVmZXJlbmNlZC1maWVsZC1pZFwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYucmVmZXJlbmNlZEZpZWxkSWQgPz8gJydcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWVsZElkKGYsICRldmVudClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gZmlyc3ROYW1lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIEBpZiAoZi5oYXNEcmlmdCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1kcmlmdC1iYW5uZXJcIiBkYXRhLXRlc3RpZD1cImRyaWZ0LWJhbm5lclwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjNlMDsgYm9yZGVyOiAxcHggc29saWQgI2ZmZTBiMjsgcGFkZGluZzogOHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDRweDsgbWFyZ2luLXRvcDogOHB4O1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJvd1wiIHN0eWxlPVwiZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGNvbG9yOiAjZTY1MTAwOyBmb250LXdlaWdodDogNTAwO1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgd2lkdGg6MThweDsgaGVpZ2h0OjE4cHg7XCI+d2FybmluZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+U291cmNlIGZpZWxkIGRlZmluaXRpb24gaGFzIGRyaWZ0ZWQhPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46IDRweCAwIDhweCAwOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNjY2O1wiPlxuICAgICAgICAgICAgICAgIFRoZSB1cHN0cmVhbSBmaWVsZCBjb25maWd1cmF0aW9uIGluIFwie3sgZi5yZWZlcmVuY2VkRW50aXR5S2V5IH19XCIgaGFzIGV2b2x2ZWQuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzeW5jLXNvdXJjZS1idG5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzeW5jV2l0aFNvdXJjZShmKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTeW5jIHdpdGggU291cmNlXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZWRGaWVsZENvbmZpZ0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnU291cmNlID0gaW5qZWN0KENvbmZpZ1NvdXJjZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSkgYXMgQ29uZmlnU291cmNlU2VydmljZSB8IG51bGw7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWVsZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0ZWRGaWVsZCgpKTtcblxuICBwcm90ZWN0ZWQgdG9nZ2xlUmVmZXJlbmNlZChmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgdGhpcy5zdG9yZS51cGRhdGVGaWVsZChmaWVsZC5pZCwgeyBpc1JlZmVyZW5jZWQ6IHRydWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUudW5saW5rUmVmZXJlbmNlZEZpZWxkKGZpZWxkLmlkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRW50aXR5S2V5KGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywga2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmltbWVkID0ga2V5LnRyaW0oKTtcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZUZpZWxkKGZpZWxkLmlkLCB7IHJlZmVyZW5jZWRFbnRpdHlLZXk6IHRyaW1tZWQgfHwgdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkLmlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVGaWVsZElkKGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywgZmllbGRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGZpZWxkSWQudHJpbSgpO1xuICAgIHRoaXMuc3RvcmUudXBkYXRlRmllbGQoZmllbGQuaWQsIHsgcmVmZXJlbmNlZEZpZWxkSWQ6IHRyaW1tZWQgfHwgdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkLmlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzeW5jV2l0aFNvdXJjZShmaWVsZDogTmVzdGVkRmllbGRDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWZpZWxkLnJlZmVyZW5jZWRFbnRpdHlLZXkgfHwgIWZpZWxkLnJlZmVyZW5jZWRGaWVsZElkIHx8ICF0aGlzLmNvbmZpZ1NvdXJjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNvdXJjZUNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnU291cmNlLmdldENvbmZpZyhmaWVsZC5yZWZlcmVuY2VkRW50aXR5S2V5KTtcbiAgICBpZiAoIXNvdXJjZUNvbmZpZykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc291cmNlRmllbGQgPSB0aGlzLmZpbmRGaWVsZChzb3VyY2VDb25maWcudGFicyA/PyBbXSwgZmllbGQucmVmZXJlbmNlZEZpZWxkSWQpO1xuICAgIGlmIChzb3VyY2VGaWVsZCkge1xuICAgICAgdGhpcy5zdG9yZS5zeW5jUmVmZXJlbmNlZEZpZWxkKGZpZWxkLmlkLCBzb3VyY2VGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJvdGggY2FsbGVycyBwYXNzIHRoZSBpZCBvZiB0aGUgZmllbGQgdGhleSBqdXN0IGVkaXRlZC4gVGhpcyB1c2VkIHRvIGlnbm9yZSB0aGF0XG4gICAqIGFyZ3VtZW50IGFuZCByZWFkIGBzdG9yZS5zZWxlY3RlZEZpZWxkKClgIGluc3RlYWQsIHNvIHdoZW5ldmVyIHRoZSBlZGl0ZWQgZmllbGQgd2FzIG5vdFxuICAgKiB0aGUgc2VsZWN0ZWQgb25lIGl0IGNoZWNrZWQgZHJpZnQgYWdhaW5zdCB0aGUgd3JvbmcgZmllbGQncyBzb3VyY2UgZW50aXR5IOKAlCBvciBiYWlsZWRcbiAgICogb3V0IGVudGlyZWx5IGlmIG5vdGhpbmcgd2FzIHNlbGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0RyaWZ0Rm9yRmllbGQoZmllbGRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZiA9IHRoaXMuc3RvcmUuZmllbGRzKCkuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gZmllbGRJZCk7XG4gICAgaWYgKCFmIHx8ICFmLmlzUmVmZXJlbmNlZCB8fCAhZi5yZWZlcmVuY2VkRW50aXR5S2V5IHx8ICFmLnJlZmVyZW5jZWRGaWVsZElkIHx8ICF0aGlzLmNvbmZpZ1NvdXJjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNvdXJjZUNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnU291cmNlLmdldENvbmZpZyhmLnJlZmVyZW5jZWRFbnRpdHlLZXkpO1xuICAgIGlmIChzb3VyY2VDb25maWcpIHtcbiAgICAgIHRoaXMuc3RvcmUuY2hlY2tEcmlmdCh7IFtmLnJlZmVyZW5jZWRFbnRpdHlLZXldOiBzb3VyY2VDb25maWcgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmllbGQodGFiczogYW55W10sIGlkOiBzdHJpbmcpOiBOZXN0ZWRGaWVsZENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChjb25zdCB0IG9mIHRhYnMpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0LmZpZWxkcyA/PyBbXSkge1xuICAgICAgICBpZiAoZi5pZCA9PT0gaWQpIHJldHVybiBmO1xuICAgICAgICBpZiAoZi5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgcmVzID0gdGhpcy5maW5kRmllbGRJbkxpc3QoZi5jaGlsZHJlbiwgaWQpO1xuICAgICAgICAgIGlmIChyZXMpIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpZWxkSW5MaXN0KGZpZWxkczogTmVzdGVkRmllbGRDb25maWdbXSwgaWQ6IHN0cmluZyk6IE5lc3RlZEZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZmllbGRzKSB7XG4gICAgICBpZiAoZi5pZCA9PT0gaWQpIHJldHVybiBmO1xuICAgICAgaWYgKGYuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmZpbmRGaWVsZEluTGlzdChmLmNoaWxkcmVuLCBpZCk7XG4gICAgICAgIGlmIChyZXMpIHJldHVybiByZXM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
198
198
  }], cancel: [{
199
199
  type: Output
200
200
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ydWxlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQUkzRDs7R0FFRztBQTBISCxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLElBQUksR0FBYTtRQUN4QixZQUFZLEVBQUUsUUFBUTtRQUN0QixPQUFPLEVBQUUsRUFBRTtRQUNYLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNwRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxDQUFDO0tBQ1osQ0FBQztJQUVRLElBQUksR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRW5DLFNBQVMsR0FBbUI7UUFDbkMsT0FBTztRQUNQLFdBQVc7UUFDWCxVQUFVO1FBQ1YsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsVUFBVTtRQUNWLGNBQWM7UUFDZCxXQUFXO1FBQ1gsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLFlBQVk7UUFDWixJQUFJO1FBQ0osUUFBUTtRQUNSLFdBQVc7UUFDWCxlQUFlO0tBQ2hCLENBQUM7SUFFRixZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBekNVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdKQTdHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RFQsaWxCQXJFQyxZQUFZLDhCQUNaLFdBQVcsOG1CQUNYLGVBQWUsd1VBQ2Ysa0JBQWtCLDBTQUNsQixhQUFhLG1MQUNiLGNBQWMsMFdBQ2QsZUFBZTs7NEZBK0dOLGlCQUFpQjtrQkF6SDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRUOzhCQWlEUSxJQUFJO3NCQUFaLEtBQUs7Z0JBVUksSUFBSTtzQkFBYixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB0eXBlIHsgRm9ybVJ1bGUsIFJ1bGVBY3Rpb25UeXBlLCBSdWxlT3BlcmF0b3IgfSBmcm9tICdAZHluYW1pYy1lbnRpdHkvY29yZSc7XG5cbi8qKlxuICogUnVsZUZvcm1Db21wb25lbnQg4oCUIGRpYWxvZy9wYW5lbCBmb3JtIGZvciBjcmVhdGluZyBvciBlZGl0aW5nIGEgRm9ybVJ1bGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ydWxlLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWZvcm1cIj5cbiAgICAgIDxoMyBjbGFzcz1cImRlYi1ydWxlLWZvcm1fX3RpdGxlXCI+e3sgcnVsZS5pZCA/ICdFZGl0IFJ1bGUnIDogJ05ldyBGb3JtIFJ1bGUnIH19PC9oMz5cblxuICAgICAgPCEtLSBUcmlnZ2VyIEZpZWxkIC0tPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5UcmlnZ2VyIEZpZWxkIElEPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJ1bGUuZmllbGRJZFwiIHBsYWNlaG9sZGVyPVwiZS5nLiBzdGF0dXNcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPCEtLSBDb25kaXRpb25zIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGg0PkNvbmRpdGlvbnM8L2g0PlxuICAgICAgICBAZm9yIChjb25kIG9mIHJ1bGUuY29uZGl0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLXJvd1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPk9wZXJhdG9yPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiY29uZC5vcGVyYXRvclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG9wIG9mIG9wZXJhdG9yczsgdHJhY2sgb3ApIHtcbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcFwiPnt7IG9wIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5WYWx1ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJjb25kLnZhbHVlXCIgcGxhY2Vob2xkZXI9XCJDb25kaXRpb24gdmFsdWVcIiAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKCRpbmRleClcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFkZENvbmRpdGlvbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+IEFkZCBDb25kaXRpb25cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBBY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtc2VjdGlvblwiPlxuICAgICAgICA8aDQ+QWN0aW9uPC9oND5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLXJvd1wiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+QWN0aW9uIFR5cGU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwicnVsZS5hY3Rpb24udHlwZVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInZpc2liaWxpdHlcIj5WaXNpYmlsaXR5IChTaG93L0hpZGUpPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInZhbGlkYXRpb25cIj5WYWxpZGF0aW9uIE1lc3NhZ2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiaW5mb1wiPkluZm8gQmFubmVyPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5WYWx1ZSAvIE1lc3NhZ2U8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJ1bGUuYWN0aW9uLnZhbHVlXCIgcGxhY2Vob2xkZXI9XCJmYWxzZSB0byBoaWRlLCBvciBtZXNzYWdlIHRleHRcIiAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZS1mb3JtX19hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbC5lbWl0KClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUuZW1pdChydWxlKVwiPlNhdmUgUnVsZTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZWItcnVsZS1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtZm9ybV9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgICAgLmRlYi1mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlLXNlY3Rpb24gaDQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtcm93ID4gKiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUnVsZUZvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBydWxlOiBGb3JtUnVsZSA9IHtcbiAgICBmb3JtQ29uZmlnSWQ6ICdmb3JtLTEnLFxuICAgIGZpZWxkSWQ6ICcnLFxuICAgIGNvbmRpdGlvbnM6IFt7IG9wZXJhdG9yOiAnRVFVQUwnLCBjb21wYXJlVHlwZTogJ3ZhbHVlJywgdmFsdWU6ICcnIH1dLFxuICAgIGFjdGlvbjogeyB0eXBlOiAndmlzaWJpbGl0eScsIHZhbHVlOiBmYWxzZSB9LFxuICAgIHRhcmdldHM6IFtdLFxuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgcHJpb3JpdHk6IDEsXG4gIH07XG5cbiAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1SdWxlPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IG9wZXJhdG9yczogUnVsZU9wZXJhdG9yW10gPSBbXG4gICAgJ0VRVUFMJyxcbiAgICAnTk9UX0VRVUFMJyxcbiAgICAnQ09OVEFJTlMnLFxuICAgICdOT1RfQ09OVEFJTlMnLFxuICAgICdTVEFSVFNfV0lUSCcsXG4gICAgJ0VORFNfV0lUSCcsXG4gICAgJ0lTX0VNUFRZJyxcbiAgICAnSVNfTk9UX0VNUFRZJyxcbiAgICAnTEVTU19USEFOJyxcbiAgICAnTU9SRV9USEFOJyxcbiAgICAnTEVTU19USEFOX0VRVUFMJyxcbiAgICAnTU9SRV9USEFOX0VRVUFMJyxcbiAgICAnREFURV9CRUZPUkUnLFxuICAgICdEQVRFX0FGVEVSJyxcbiAgICAnSU4nLFxuICAgICdOT1RfSU4nLFxuICAgICdIQVNfSVRFTVMnLFxuICAgICdWQUxVRV9DSEFOR0VEJyxcbiAgXTtcblxuICBhZGRDb25kaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5ydWxlLmNvbmRpdGlvbnMucHVzaCh7IG9wZXJhdG9yOiAnRVFVQUwnLCBjb21wYXJlVHlwZTogJ3ZhbHVlJywgdmFsdWU6ICcnIH0pO1xuICB9XG5cbiAgcmVtb3ZlQ29uZGl0aW9uKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bGUuY29uZGl0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG59XG4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ydWxlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQUkzRDs7R0FFRztBQTBISCxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLElBQUksR0FBYTtRQUN4QixZQUFZLEVBQUUsUUFBUTtRQUN0QixPQUFPLEVBQUUsRUFBRTtRQUNYLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNwRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxDQUFDO0tBQ1osQ0FBQztJQUVRLElBQUksR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRW5DLFNBQVMsR0FBbUI7UUFDbkMsT0FBTztRQUNQLFdBQVc7UUFDWCxVQUFVO1FBQ1YsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsVUFBVTtRQUNWLGNBQWM7UUFDZCxXQUFXO1FBQ1gsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLFlBQVk7UUFDWixJQUFJO1FBQ0osUUFBUTtRQUNSLFdBQVc7UUFDWCxlQUFlO0tBQ2hCLENBQUM7SUFFRixZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBekNVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdKQTdHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RFQsaWxCQXJFQyxZQUFZLDhCQUNaLFdBQVcsOG1CQUNYLGVBQWUsd1VBQ2Ysa0JBQWtCLDBTQUNsQixhQUFhLG1MQUNiLGNBQWMsMFdBQ2QsZUFBZTs7NEZBK0dOLGlCQUFpQjtrQkF6SDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRUOzhCQWlEUSxJQUFJO3NCQUFaLEtBQUs7Z0JBVUksSUFBSTtzQkFBYixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB0eXBlIHsgRm9ybVJ1bGUsIFJ1bGVPcGVyYXRvciB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcblxuLyoqXG4gKiBSdWxlRm9ybUNvbXBvbmVudCDigJQgZGlhbG9nL3BhbmVsIGZvcm0gZm9yIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBGb3JtUnVsZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJ1bGUtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtZm9ybVwiPlxuICAgICAgPGgzIGNsYXNzPVwiZGViLXJ1bGUtZm9ybV9fdGl0bGVcIj57eyBydWxlLmlkID8gJ0VkaXQgUnVsZScgOiAnTmV3IEZvcm0gUnVsZScgfX08L2gzPlxuXG4gICAgICA8IS0tIFRyaWdnZXIgRmllbGQgLS0+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICA8bWF0LWxhYmVsPlRyaWdnZXIgRmllbGQgSUQ8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwicnVsZS5maWVsZElkXCIgcGxhY2Vob2xkZXI9XCJlLmcuIHN0YXR1c1wiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8IS0tIENvbmRpdGlvbnMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtc2VjdGlvblwiPlxuICAgICAgICA8aDQ+Q29uZGl0aW9uczwvaDQ+XG4gICAgICAgIEBmb3IgKGNvbmQgb2YgcnVsZS5jb25kaXRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtcm93XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+T3BlcmF0b3I8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJjb25kLm9wZXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgQGZvciAob3Agb2Ygb3BlcmF0b3JzOyB0cmFjayBvcCkge1xuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wXCI+e3sgb3AgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlZhbHVlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImNvbmQudmFsdWVcIiBwbGFjZWhvbGRlcj1cIkNvbmRpdGlvbiB2YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZW1vdmVDb25kaXRpb24oJGluZGV4KVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkQ29uZGl0aW9uKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gQWRkIENvbmRpdGlvblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEFjdGlvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZS1zZWN0aW9uXCI+XG4gICAgICAgIDxoND5BY3Rpb248L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtcm93XCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5BY3Rpb24gVHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJydWxlLmFjdGlvbi50eXBlXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwidmlzaWJpbGl0eVwiPlZpc2liaWxpdHkgKFNob3cvSGlkZSk8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwidmFsaWRhdGlvblwiPlZhbGlkYXRpb24gTWVzc2FnZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJpbmZvXCI+SW5mbyBCYW5uZXI8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlZhbHVlIC8gTWVzc2FnZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwicnVsZS5hY3Rpb24udmFsdWVcIiBwbGFjZWhvbGRlcj1cImZhbHNlIHRvIGhpZGUsIG9yIG1lc3NhZ2UgdGV4dFwiIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWZvcm1fX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2F2ZS5lbWl0KHJ1bGUpXCI+U2F2ZSBSdWxlPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRlYi1ydWxlLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1mb3JtX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgICAuZGViLWZ1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtc2VjdGlvbiBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1yb3cgPiAqIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1mb3JtX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSdWxlRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJ1bGU6IEZvcm1SdWxlID0ge1xuICAgIGZvcm1Db25maWdJZDogJ2Zvcm0tMScsXG4gICAgZmllbGRJZDogJycsXG4gICAgY29uZGl0aW9uczogW3sgb3BlcmF0b3I6ICdFUVVBTCcsIGNvbXBhcmVUeXBlOiAndmFsdWUnLCB2YWx1ZTogJycgfV0sXG4gICAgYWN0aW9uOiB7IHR5cGU6ICd2aXNpYmlsaXR5JywgdmFsdWU6IGZhbHNlIH0sXG4gICAgdGFyZ2V0czogW10sXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBwcmlvcml0eTogMSxcbiAgfTtcblxuICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybVJ1bGU+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgb3BlcmF0b3JzOiBSdWxlT3BlcmF0b3JbXSA9IFtcbiAgICAnRVFVQUwnLFxuICAgICdOT1RfRVFVQUwnLFxuICAgICdDT05UQUlOUycsXG4gICAgJ05PVF9DT05UQUlOUycsXG4gICAgJ1NUQVJUU19XSVRIJyxcbiAgICAnRU5EU19XSVRIJyxcbiAgICAnSVNfRU1QVFknLFxuICAgICdJU19OT1RfRU1QVFknLFxuICAgICdMRVNTX1RIQU4nLFxuICAgICdNT1JFX1RIQU4nLFxuICAgICdMRVNTX1RIQU5fRVFVQUwnLFxuICAgICdNT1JFX1RIQU5fRVFVQUwnLFxuICAgICdEQVRFX0JFRk9SRScsXG4gICAgJ0RBVEVfQUZURVInLFxuICAgICdJTicsXG4gICAgJ05PVF9JTicsXG4gICAgJ0hBU19JVEVNUycsXG4gICAgJ1ZBTFVFX0NIQU5HRUQnLFxuICBdO1xuXG4gIGFkZENvbmRpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bGUuY29uZGl0aW9ucy5wdXNoKHsgb3BlcmF0b3I6ICdFUVVBTCcsIGNvbXBhcmVUeXBlOiAndmFsdWUnLCB2YWx1ZTogJycgfSk7XG4gIH1cblxuICByZW1vdmVDb25kaXRpb24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucnVsZS5jb25kaXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiJdfQ==