@colijnit/sharedcomponents 260.1.6 → 260.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-sharedcomponents.umd.js +5 -5
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.js +8 -12
- package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +1 -1
- package/esm2015/lib/components/task-creator/task-creator.component.js +64 -64
- package/esm2015/lib/components/task-creator/task-creator.module.js +1 -1
- package/esm2015/lib/enum/icon.enum.js +1 -1
- package/esm2015/lib/model/icon-svg.js +1 -1
- package/esm2015/lib/res/dictionary/dictionaries.js +1 -1
- package/fesm2015/colijnit-sharedcomponents.js +70 -73
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.d.ts +6 -4
- package/lib/components/form-builder/form-builder-user-form/style/_layout.scss +4 -3
- package/package.json +1 -1
- package/358.645812766f7a400d0d38.js +0 -1
- package/3rdpartylicenses.txt +0 -2017
- package/960.d316fc697040a1dcb1dc.js +0 -1
- package/977.bd6291f9ee6f6ddf91f1.js +0 -1
- package/colijnit-sharedcomponents-260.1.6.tgz +0 -0
- package/favicon.ico +0 -0
- package/index.html +0 -12
- package/main.b6e4dfacf3e8cbdc3f41.js +0 -1
- package/polyfills.907fe9d1887c5de17993.js +0 -1
- package/runtime.964caae2a6edfdb3cc90.js +0 -1
- package/styles.d8387cd9036477f64871.css +0 -1
|
@@ -13,14 +13,12 @@ import { Icon } from '../../../enum/icon.enum';
|
|
|
13
13
|
import { IconCacheService } from '../../../service/icon-cache.service';
|
|
14
14
|
import { UserFormMode } from '../../../enum/user-form-mode.enum';
|
|
15
15
|
import { SharedConnectorService } from '../../../service/shared-connector.service';
|
|
16
|
-
import { PromptService } from '@colijnit/corecomponents_v12';
|
|
17
16
|
export class FormBuilderUserFormComponent {
|
|
18
|
-
constructor(_detectorRef, _boFactory, _changeDetectorRef, _sharedConnectorService,
|
|
17
|
+
constructor(_detectorRef, _boFactory, _changeDetectorRef, _sharedConnectorService, iconCacheService) {
|
|
19
18
|
this._detectorRef = _detectorRef;
|
|
20
19
|
this._boFactory = _boFactory;
|
|
21
20
|
this._changeDetectorRef = _changeDetectorRef;
|
|
22
21
|
this._sharedConnectorService = _sharedConnectorService;
|
|
23
|
-
this._promptService = _promptService;
|
|
24
22
|
this.iconCacheService = iconCacheService;
|
|
25
23
|
this.formQuestionType = FormQuestionType;
|
|
26
24
|
this.TableName = TableName;
|
|
@@ -30,6 +28,7 @@ export class FormBuilderUserFormComponent {
|
|
|
30
28
|
this.showPopup = false;
|
|
31
29
|
this.readonly = false;
|
|
32
30
|
this.enableQuestions = true;
|
|
31
|
+
this.objectId = 0;
|
|
33
32
|
this.cancelForm = new EventEmitter();
|
|
34
33
|
this.saveForm = new EventEmitter();
|
|
35
34
|
this.definitiveChange = new EventEmitter();
|
|
@@ -183,7 +182,7 @@ export class FormBuilderUserFormComponent {
|
|
|
183
182
|
}
|
|
184
183
|
handleDefinitiveChange(definitive) {
|
|
185
184
|
this.formResponse.isFinal = definitive;
|
|
186
|
-
this.definitiveChange.next(definitive);
|
|
185
|
+
this.definitiveChange.next({ value: definitive, id: this.objectId });
|
|
187
186
|
}
|
|
188
187
|
commitUserForm() {
|
|
189
188
|
FormUtils.MergeResponseWithForm(this.cloneForm, this.formResponse);
|
|
@@ -273,7 +272,7 @@ FormBuilderUserFormComponent.decorators = [
|
|
|
273
272
|
<co-list-of-values *ngSwitchCase="formQuestionType.DropDownList"
|
|
274
273
|
[model]="question.responseQuestion"
|
|
275
274
|
[collection]="question.formQuestionAnswers"
|
|
276
|
-
[displayField]="'
|
|
275
|
+
[displayField]="'response'"
|
|
277
276
|
[required]="question.mandatory"
|
|
278
277
|
[readonly]="readonly"
|
|
279
278
|
[disabled]="question.disabled && index !== 0"
|
|
@@ -305,8 +304,6 @@ FormBuilderUserFormComponent.decorators = [
|
|
|
305
304
|
></co-input-time>
|
|
306
305
|
</div>
|
|
307
306
|
</div>
|
|
308
|
-
<div class="goto-question" *ngIf="question === activeQuestion && gotoQuestion"
|
|
309
|
-
[textContent]="('GOTO_NEXT_QUESTION' | sharedLocalize) + ' ' + gotoQuestion"></div>
|
|
310
307
|
</ng-container>
|
|
311
308
|
</co-form>
|
|
312
309
|
</div>
|
|
@@ -327,9 +324,8 @@ FormBuilderUserFormComponent.decorators = [
|
|
|
327
324
|
<div class="footer-wrapper">
|
|
328
325
|
<div class="attachments-wrapper">
|
|
329
326
|
<div class="row">
|
|
330
|
-
<
|
|
331
|
-
<
|
|
332
|
-
<co-files-upload #filesUploadComponent [documents]="formResponse.documents" class="co-files-upload"></co-files-upload>
|
|
327
|
+
<input type="file" accept="image/*" capture="environment" (change)="handleDocumentsAdded($event)">
|
|
328
|
+
<co-files-upload #filesUploadComponent [documents]="formResponse.documents" (documentsAdded)="handleDocumentsAdded($event)" (documentChangeEvent)="handleDocumentChanged($event)" class="co-files-upload"></co-files-upload>
|
|
333
329
|
</div>
|
|
334
330
|
</div>
|
|
335
331
|
<div class="row">
|
|
@@ -349,7 +345,6 @@ FormBuilderUserFormComponent.ctorParameters = () => [
|
|
|
349
345
|
{ type: BusinessObjectFactory },
|
|
350
346
|
{ type: ChangeDetectorRef },
|
|
351
347
|
{ type: SharedConnectorService },
|
|
352
|
-
{ type: PromptService },
|
|
353
348
|
{ type: IconCacheService }
|
|
354
349
|
];
|
|
355
350
|
FormBuilderUserFormComponent.propDecorators = {
|
|
@@ -361,6 +356,7 @@ FormBuilderUserFormComponent.propDecorators = {
|
|
|
361
356
|
key: [{ type: Input }],
|
|
362
357
|
readonly: [{ type: Input }],
|
|
363
358
|
enableQuestions: [{ type: Input }],
|
|
359
|
+
objectId: [{ type: Input }],
|
|
364
360
|
cancelForm: [{ type: Output }],
|
|
365
361
|
saveForm: [{ type: Output }],
|
|
366
362
|
definitiveChange: [{ type: Output }],
|
|
@@ -371,4 +367,4 @@ FormBuilderUserFormComponent.propDecorators = {
|
|
|
371
367
|
__decorate([
|
|
372
368
|
InputBoolean()
|
|
373
369
|
], FormBuilderUserFormComponent.prototype, "readonly", void 0);
|
|
374
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9mb3JtLWJ1aWxkZXItdXNlci1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUk1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxF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LE1BQU07K0JBR04sTUFBTTtvQ0FHTixNQUFNOzJCQUdOLE1BQU07d0JBU04sV0FBVyxTQUFDLGlDQUFpQzs7QUExQjlDO0lBREMsWUFBWSxFQUFFOzhEQUNrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtUXVlc3Rpb25UeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2Zvcm0tcXVlc3Rpb24udHlwZSc7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7Rm9ybX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS5ibyc7XHJcbmltcG9ydCB7Rm9ybVJlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvcic7XHJcbmltcG9ydCB7Rm9ybVF1ZXN0aW9ufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLXF1ZXN0aW9uLmJvJztcclxuaW1wb3J0IHtOVUxMX0ZPUk1fRlVMTF9PQkpFQ1R9IGZyb20gJy4uLy4uLy4uL21vZGVsL3V0aWwvZm9ybXMtbnVsbC1vYmplY3QnO1xyXG5pbXBvcnQge0Zvcm1RdWVzdGlvbkFuc3dlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1xdWVzdGlvbi1hbnN3ZXIuYm8nO1xyXG5pbXBvcnQge0Zvcm1RdWVzdGlvblJlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLXF1ZXN0aW9uLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC5ibyc7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXJyYXktdXRpbHMnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeSc7XHJcbmltcG9ydCB7Rm9ybVV0aWxzfSBmcm9tICcuLi8uLi8uLi91dGlscy9mb3JtLXV0aWxzJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1VzZXJGb3JtTW9kZX0gZnJvbSAnLi4vLi4vLi4vZW51bS91c2VyLWZvcm0tbW9kZS5lbnVtJztcclxuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3NoYXJlZC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7RmlsZXNVcGxvYWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtQcm9tcHRTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtWYWxpZGF0aW9uRXJyb3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWZvcm0tYnVpbGRlci11c2VyLWZvcm0nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1kaWFsb2cgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCIgKGNsb3NlQ2xpY2spPVwiaGFuZGxlQ2FuY2VsRm9ybSgpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCIgI3NlY3Rpb25XcmFwcGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tZm9ybSAjY29Gb3JtICh2YWxpZFN1Ym1pdCk9XCJvblZhbGlkKClcIiBba2VlcEluVmlld109XCJzZWN0aW9uV3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgY2xvbmVGb3JtLnF1ZXN0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5hY3RpdmVdPVwiZm9ybS5xdWVzdGlvbnMuaW5kZXhPZihxdWVzdGlvbikgPT09IGZvcm0ucXVlc3Rpb25zLmluZGV4T2YoYWN0aXZlUXVlc3Rpb24pXCIgY2xhc3M9XCJoZWFkZXJzLXJvd1wiIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJxdWVzdGlvbi5kaXNhYmxlZCAmJiBpbmRleCAhPT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJlbmFibGVkTmV4dFF1ZXN0aW9uKHF1ZXN0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1ydWJyaWMtaGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicXVlc3Rpb24uc2VxdWVuY2UrICcuICcgKyAocXVlc3Rpb24ucXVlc3Rpb24pXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW5zd2VyLXdyYXBwZXJcIiBbbmdTd2l0Y2hdPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCAqbmdTd2l0Y2hDYXNlPVwiZm9ybVF1ZXN0aW9uVHlwZS5TaG9ydEFuc3dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLnJlc3BvbnNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJxdWVzdGlvbi5tYW5kYXRvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5kaXNhYmxlZCAmJiBpbmRleCAhPT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ1N3aXRjaENhc2U9XCJmb3JtUXVlc3Rpb25UeXBlLkxvbmdBbnN3ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJxdWVzdGlvbi5tYW5kYXRvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInF1ZXN0aW9uLmRpc2FibGVkICYmIGluZGV4ICE9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiZm9ybVF1ZXN0aW9uVHlwZS5NdWx0aXBsZUNob2ljZVNpbmdsZU9wdGlvblwiXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBhbnN3ZXIgb2YgcXVlc3Rpb24uZm9ybVF1ZXN0aW9uQW5zd2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImFuc3dlci5hbnN3ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhbnN3ZXIuYW5zd2VySWQgPT0gcXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbi5yZXNwb25zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInF1ZXN0aW9uLmRpc2FibGVkICYmIGluZGV4ICE9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwicXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbi5yZXNwb25zZSA9IGFuc3dlci5hbnN3ZXJJZCArICcnOyBlbmFibGVkTmV4dFF1ZXN0aW9uKHF1ZXN0aW9uLCBhbnN3ZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiZm9ybVF1ZXN0aW9uVHlwZS5NdWx0aXBsZUNob2ljZU11bHRpcGxlT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveCAqbmdGb3I9XCJsZXQgYW5zd2VyIG9mIHF1ZXN0aW9uLmZvcm1RdWVzdGlvbkFuc3dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYW5zd2VyLmFuc3dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLnJlc3BvbnNlID8gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2UuaW5kZXhPZihhbnN3ZXIuYW5zd2VySWQpID4gLTEgOiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbi5yZXNwb25zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5kaXNhYmxlZCAmJiBpbmRleCAhPT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VNdWx0aXBsZU9wdGlvbihhbnN3ZXIuYW5zd2VySWQsIHF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24sICRldmVudCk7IGVuYWJsZWROZXh0UXVlc3Rpb24ocXVlc3Rpb24sIGFuc3dlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuRHJvcERvd25MaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwicXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicXVlc3Rpb24uZm9ybVF1ZXN0aW9uQW5zd2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInYW5zd2VyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInF1ZXN0aW9uLm1hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VMb3ZPcHRpb24ocXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbiwgJGV2ZW50KTsgZW5hYmxlZE5leHRRdWVzdGlvbihxdWVzdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby11c2VyLWZvcm0taW5wdXQtc2NhbGUgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuTGluZWFyU2NhbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwicXVlc3Rpb24ucXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCInYW5zd2VySWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NhbGVNb2RlbF09XCJxdWVzdGlvbi5mb3JtUXVlc3Rpb25BbnN3ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uRmllbGRdPVwiJ2Fuc3dlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicXVlc3Rpb24ubWFuZGF0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInF1ZXN0aW9uLmRpc2FibGVkICYmIGluZGV4ICE9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLnJlc3BvbnNlID0gJGV2ZW50LmFuc3dlcklkICsgJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdXNlci1mb3JtLWlucHV0LXNjYWxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWRhdGUgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLmRhdGVSZXNwb25zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicXVlc3Rpb24ubWFuZGF0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10aW1lICpuZ1N3aXRjaENhc2U9XCJmb3JtUXVlc3Rpb25UeXBlLlRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24/LnRpbWVSZXNwb25zZSA/PyAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VUaW1lKHF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24sICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInF1ZXN0aW9uLm1hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInF1ZXN0aW9uLmRpc2FibGVkICYmIGluZGV4ICE9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3RvLXF1ZXN0aW9uXCIgKm5nSWY9XCJxdWVzdGlvbiA9PT0gYWN0aXZlUXVlc3Rpb24gJiYgZ290b1F1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCIoJ0dPVE9fTkVYVF9RVUVTVElPTicgfCBzaGFyZWRMb2NhbGl6ZSkgKyAnICcgKyBnb3RvUXVlc3Rpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiICNzZWN0aW9uV3JhcHBlcj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFttb2RlbF09XCJmb3JtUmVzcG9uc2U/LmlzRmluYWxcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmaW5pdGl2ZUNoYW5nZSgkZXZlbnQpXCIgW2xhYmVsXT1cIidERUZJTklUSVZFJyB8IHNoYXJlZExvY2FsaXplXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJmb3JtPy5mb3JtTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJoYW5kbGVPcGVuRmlsZXNVcGxvYWQoKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIGFjY2VwdD1cImltYWdlLypcIiBjYXB0dXJlPVwiZW52aXJvbm1lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1maWxlcy11cGxvYWQgI2ZpbGVzVXBsb2FkQ29tcG9uZW50IFtkb2N1bWVudHNdPVwiZm9ybVJlc3BvbnNlLmRvY3VtZW50c1wiIGNsYXNzPVwiY28tZmlsZXMtdXBsb2FkXCI+PC9jby1maWxlcy11cGxvYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCIgKGNsaWNrKT1cImNvbW1pdFVzZXJGb3JtKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCIgKGNsaWNrKT1cImhhbmRsZUNhbmNlbEZvcm0oKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1CdWlsZGVyVXNlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybVF1ZXN0aW9uVHlwZTogdHlwZW9mIEZvcm1RdWVzdGlvblR5cGUgPSBGb3JtUXVlc3Rpb25UeXBlO1xyXG4gIHB1YmxpYyByZWFkb25seSBUYWJsZU5hbWU6IHR5cGVvZiBUYWJsZU5hbWUgPSBUYWJsZU5hbWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBtb2RlOiBVc2VyRm9ybU1vZGUgPSBVc2VyRm9ybU1vZGUuQ3JlYXRlO1xyXG4gIHB1YmxpYyBkb2N1bWVudHM6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9mb3JtOiBGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlc1VwbG9hZENvbXBvbmVudCcpXHJcbiAgcHVibGljIGZpbGVzVXBsb2FkQ29tcG9uZW50OiBGaWxlc1VwbG9hZENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1BvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBmb3JtKGZvcm06IEZvcm0pIHtcclxuICAgIHRoaXMuX2Zvcm0gPSBmb3JtO1xyXG4gICAgdGhpcy5fcHJlcGFyZU5ld0Zvcm0oKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZm9ybSgpOiBGb3JtIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlckZvcm06IEZvcm1SZXNwb25zZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQElucHV0Qm9vbGVhbigpXHJcbiAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVuYWJsZVF1ZXN0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzYXZlRm9ybTogRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGRlZmluaXRpdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZU5ld0Zvcm1SZXNwb25zZTogRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGVycm9yTWVzc2FnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgcHVibGljIGNsb25lRm9ybTogRm9ybSA9IE5VTExfRk9STV9GVUxMX09CSkVDVDtcclxuICBwdWJsaWMgZm9ybVJlc3BvbnNlOiBGb3JtUmVzcG9uc2U7XHJcblxyXG4gIHB1YmxpYyBhY3RpdmVRdWVzdGlvbjogRm9ybVF1ZXN0aW9uO1xyXG4gIHB1YmxpYyBnb3RvUXVlc3Rpb246IG51bWJlcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1mb3JtLWJ1aWxkZXItdXNlci1mb3JtJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5LFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkQ29ubmVjdG9yU2VydmljZTogU2hhcmVkQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Byb21wdFNlcnZpY2U6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXRlY3RvclJlZiA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmFibGVkTmV4dFF1ZXN0aW9uKHF1ZXN0aW9uOiBGb3JtUXVlc3Rpb24sIGFuc3dlcj86IEZvcm1RdWVzdGlvbkFuc3dlciB8IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVRdWVzdGlvbiA9IHF1ZXN0aW9uO1xyXG4gICAgaWYgKHR5cGVvZiBhbnN3ZXIgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGFuc3dlciA9IHF1ZXN0aW9uLmZvcm1RdWVzdGlvbkFuc3dlcnMuZmluZChhID0+IGEuYW5zd2VySWQgPT09IGFuc3dlcik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBnb3RvUXVlc3Rpb246IG51bWJlciA9IGFuc3dlciA/IGFuc3dlci5nb3RvUXVlc3Rpb25JZCA6IHF1ZXN0aW9uLmdvdG9RdWVzdGlvbklkO1xyXG4gICAgY29uc3QgY3VycmVudEluZGV4OiBudW1iZXIgPSB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnMuZmluZEluZGV4KHEgPT4gcS5xdWVzdGlvbklkID09PSBxdWVzdGlvbi5xdWVzdGlvbklkKTtcclxuICAgIGxldCBuZXh0UXVlc3Rpb246IEZvcm1RdWVzdGlvbiA9IHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9uc1tjdXJyZW50SW5kZXggKyAxXTtcclxuICAgIGlmIChnb3RvUXVlc3Rpb24pIHtcclxuICAgICAgbmV4dFF1ZXN0aW9uID0gdGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zLmZpbmQocSA9PiBxLnF1ZXN0aW9uSWQgPT09IGdvdG9RdWVzdGlvbik7XHJcbiAgICB9XHJcbiAgICBpZiAobmV4dFF1ZXN0aW9uKSB7XHJcbiAgICAgIG5leHRRdWVzdGlvbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSBuZXh0UXVlc3Rpb24uc2VxdWVuY2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdvdG9RdWVzdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblZhbGlkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zYXZlRm9ybS5uZXh0KHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDYW5jZWxGb3JtKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMudXNlckZvcm0gJiYgdGhpcy51c2VyRm9ybS5yZXNwb25zZUlkKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fc2hhcmVkQ29ubmVjdG9yU2VydmljZS51bmxvY2tGb3JtUmVzcG9uc2UodGhpcy51c2VyRm9ybS5yZXNwb25zZUlkKTtcclxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdCg8c3RyaW5nPiBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jbG9uZUZvcm0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnVzZXJGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNhbmNlbEZvcm0ubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZU11bHRpcGxlT3B0aW9uKGlkOiBzdHJpbmcsIGZvcm1SZXNwb25zZTogRm9ybVF1ZXN0aW9uUmVzcG9uc2UsIGFkZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgcmVzcG9uc2VMaXN0OiBzdHJpbmdbXSA9IGZvcm1SZXNwb25zZS5yZXNwb25zZSA/IGZvcm1SZXNwb25zZS5yZXNwb25zZS5zcGxpdCgnLCcpIDogW107XHJcbiAgICBpZiAoYWRkKSB7XHJcbiAgICAgIHJlc3BvbnNlTGlzdC5wdXNoKGlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJlc3BvbnNlTGlzdC5zcGxpY2UocmVzcG9uc2VMaXN0LmluZGV4T2YoaWQpLCAxKTtcclxuICAgIH1cclxuICAgIGZvcm1SZXNwb25zZS5yZXNwb25zZSA9IHJlc3BvbnNlTGlzdC50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUxvdk9wdGlvbihmb3JtUmVzcG9uc2U6IEZvcm1RdWVzdGlvblJlc3BvbnNlLCB2YWx1ZTogRm9ybVF1ZXN0aW9uQW5zd2VyKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUucXVlc3Rpb25JZCAmJiB2YWx1ZS5xdWVzdGlvbklkICYmIHZhbHVlLmFuc3dlcikge1xyXG4gICAgICBmb3JtUmVzcG9uc2UucXVlc3Rpb25JZCA9IHZhbHVlLnF1ZXN0aW9uSWQ7XHJcbiAgICAgIGZvcm1SZXNwb25zZS5yZXNwb25zZSA9IHZhbHVlLmFuc3dlci50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVRpbWUoZm9ybVJlc3BvbnNlOiBGb3JtUXVlc3Rpb25SZXNwb25zZSwgdGltZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgZm9ybVJlc3BvbnNlLnRpbWVSZXNwb25zZSA9IHRpbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnREZWxldGVkKGRvYzogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGRvYywgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEb2N1bWVudENoYW5nZWQoZG9jOiBDb0RvY3VtZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMucHVzaChkb2MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURvY3VtZW50c0FkZGVkKGRvY3M6IENvRG9jdW1lbnRbXSk6IHZvaWQge1xyXG4gICAgZG9jcy5mb3JFYWNoKChkb2N1bWVudDogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMucHVzaChkb2N1bWVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3ByZXBhcmVOZXdGb3JtKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5jbG9uZUZvcm0gPSA8Rm9ybT50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtLCB0aGlzLmZvcm0pO1xyXG4gICAgaWYgKCF0aGlzLnVzZXJGb3JtPy5yZXNwb25zZUlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybVJlc3BvbnNlID0gPEZvcm1SZXNwb25zZT50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtUmVzcG9uc2UsIHRoaXMudXNlckZvcm0pO1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5mb3JtSWQgPSB0aGlzLmZvcm0uZm9ybUlkO1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIHRoaXMuZm9ybVJlc3BvbnNlLmtleSA9IHRoaXMua2V5O1xyXG4gICAgICBGb3JtVXRpbHMuTWVyZ2VSZXNwb25zZVdpdGhGb3JtKHRoaXMuY2xvbmVGb3JtLCB0aGlzLmZvcm1SZXNwb25zZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vZGUgPSBVc2VyRm9ybU1vZGUuRWRpdDtcclxuICAgICAgdGhpcy5fcHJlcGFyZUV4aXN0aW5nRm9ybSgpO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3NoYXJlZENvbm5lY3RvclNlcnZpY2UubG9ja0Zvcm1SZXNwb25zZSh0aGlzLnVzZXJGb3JtLnJlc3BvbnNlSWQpO1xyXG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZS5lbWl0KDxzdHJpbmc+IGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fbG9hZERvY3MoKTtcclxuICAgIGlmICh0aGlzLmVuYWJsZVF1ZXN0aW9ucykge1xyXG4gICAgICB0aGlzLl9lbmFibGVRdWVzdGlvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVFeGlzdGluZ0Zvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb25lRm9ybSA9IDxGb3JtPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEZvcm0sIHRoaXMuZm9ybSk7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZSA9IDxGb3JtUmVzcG9uc2U+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybVJlc3BvbnNlLCB0aGlzLnVzZXJGb3JtKTtcclxuICAgIEZvcm1VdGlscy5NZXJnZVJlc3BvbnNlV2l0aEZvcm0odGhpcy5jbG9uZUZvcm0sIHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5lbmFibGVRdWVzdGlvbnMpIHtcclxuICAgICAgdGhpcy5fZW5hYmxlUXVlc3Rpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbmFibGVRdWVzdGlvbnMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGN1cnJlbnRJbmRleCBpbiB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnMpIHtcclxuICAgICAgaWYgKHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9uc1tjdXJyZW50SW5kZXhdKSB7XHJcbiAgICAgICAgY29uc3QgbmV4dFF1ZXN0aW9uOiBGb3JtUXVlc3Rpb24gPSB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnNbY3VycmVudEluZGV4XTtcclxuICAgICAgICBpZiAobmV4dFF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICBuZXh0UXVlc3Rpb24uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmdvdG9RdWVzdGlvbiA9IG5leHRRdWVzdGlvbi5zZXF1ZW5jZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkRG9jcygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzKSB7XHJcbiAgICAgIHRoaXMuZm9ybVJlc3BvbnNlLmRvY3VtZW50cyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzLmZvckVhY2goKGRvYzogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICBpZiAoZG9jLmRvY3VtZW50SWQgJiYgIWRvYy5kb2N1bWVudEJvZHkpIHtcclxuICAgICAgICB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudChkb2MuZG9jdW1lbnRJZCkudGhlbigoY29udGVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBkb2MuZG9jdW1lbnRCb2R5ID0gY29udGVudDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVmaW5pdGl2ZUNoYW5nZShkZWZpbml0aXZlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS5pc0ZpbmFsID0gZGVmaW5pdGl2ZTtcclxuICAgIHRoaXMuZGVmaW5pdGl2ZUNoYW5nZS5uZXh0KGRlZmluaXRpdmUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdFVzZXJGb3JtKCkge1xyXG4gICAgRm9ybVV0aWxzLk1lcmdlUmVzcG9uc2VXaXRoRm9ybSh0aGlzLmNsb25lRm9ybSwgdGhpcy5mb3JtUmVzcG9uc2UpO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2Uua2V5ID0gdGhpcy5rZXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xyXG4gICAgICBjYXNlIFVzZXJGb3JtTW9kZS5DcmVhdGU6XHJcbiAgICAgICAgdGhpcy5fc2hhcmVkQ29ubmVjdG9yU2VydmljZS5pbnNlcnRGb3JtUmVzcG9uc2UodGhpcy5mb3JtUmVzcG9uc2UpLnRoZW4oKHJlc3BvbnNlOiBGb3JtUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXNwb25zZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZvcm0ubmV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsRm9ybSgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdChcIkVSUk9SX0lOU0VSVF9GT1JNX1JFU1BPTlNFXCIpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVOZXdGb3JtUmVzcG9uc2UubmV4dCh0aGlzLmZvcm1SZXNwb25zZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgVXNlckZvcm1Nb2RlLkVkaXQ6XHJcbiAgICAgICAgdGhpcy5fc2hhcmVkQ29ubmVjdG9yU2VydmljZS51cGRhdGVGb3JtUmVzcG9uc2UodGhpcy5mb3JtUmVzcG9uc2UpLnRoZW4oKHJlc3BvbnNlOiBGb3JtUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXNwb25zZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZvcm0ubmV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsRm9ybSgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdChcIkVSUk9SX1NBVklOR19GT1JNX1JFU1BPTlNFXCIpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT3BlbkZpbGVzVXBsb2FkKCkge1xyXG4gICAgdGhpcy5maWxlc1VwbG9hZENvbXBvbmVudC5vcGVuRmlsZUJyb3dzZXIoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9mb3JtLWJ1aWxkZXItdXNlci1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUk1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxF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QUdOLE1BQU07b0NBR04sTUFBTTsyQkFHTixNQUFNO3dCQVNOLFdBQVcsU0FBQyxpQ0FBaUM7O0FBN0I5QztJQURDLFlBQVksRUFBRTs4REFDa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybVF1ZXN0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9mb3JtLXF1ZXN0aW9uLnR5cGUnO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW0nO1xyXG5pbXBvcnQge0Zvcm19IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2Zvcm0uYm8nO1xyXG5pbXBvcnQge0Zvcm1SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7SW5wdXRCb29sZWFufSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0Zvcm1RdWVzdGlvbn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1xdWVzdGlvbi5ibyc7XHJcbmltcG9ydCB7TlVMTF9GT1JNX0ZVTExfT0JKRUNUfSBmcm9tICcuLi8uLi8uLi9tb2RlbC91dGlsL2Zvcm1zLW51bGwtb2JqZWN0JztcclxuaW1wb3J0IHtGb3JtUXVlc3Rpb25BbnN3ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2Zvcm0tcXVlc3Rpb24tYW5zd2VyLmJvJztcclxuaW1wb3J0IHtGb3JtUXVlc3Rpb25SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1xdWVzdGlvbi1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge0Zvcm1VdGlsc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZm9ybS11dGlscyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtVc2VyRm9ybU1vZGV9IGZyb20gJy4uLy4uLy4uL2VudW0vdXNlci1mb3JtLW1vZGUuZW51bSc7XHJcbmltcG9ydCB7U2hhcmVkQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9maWxlcy11cGxvYWQvZmlsZXMtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvbXB0U2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1mb3JtLWJ1aWxkZXItdXNlci1mb3JtJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tZGlhbG9nIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiIChjbG9zZUNsaWNrKT1cImhhbmRsZUNhbmNlbEZvcm0oKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiICNzZWN0aW9uV3JhcHBlcj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWZvcm0gI2NvRm9ybSAodmFsaWRTdWJtaXQpPVwib25WYWxpZCgpXCIgW2tlZXBJblZpZXddPVwic2VjdGlvbldyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIGNsb25lRm9ybS5xdWVzdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbY2xhc3MuYWN0aXZlXT1cImZvcm0ucXVlc3Rpb25zLmluZGV4T2YocXVlc3Rpb24pID09PSBmb3JtLnF1ZXN0aW9ucy5pbmRleE9mKGFjdGl2ZVF1ZXN0aW9uKVwiIGNsYXNzPVwiaGVhZGVycy1yb3dcIiBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiZW5hYmxlZE5leHRRdWVzdGlvbihxdWVzdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tcnVicmljLWhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInF1ZXN0aW9uLnNlcXVlbmNlKyAnLiAnICsgKHF1ZXN0aW9uLnF1ZXN0aW9uKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFuc3dlci13cmFwcGVyXCIgW25nU3dpdGNoXT1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuU2hvcnRBbnN3ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbi5yZXNwb25zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicXVlc3Rpb24ubWFuZGF0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSAqbmdTd2l0Y2hDYXNlPVwiZm9ybVF1ZXN0aW9uVHlwZS5Mb25nQW5zd2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLnJlc3BvbnNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicXVlc3Rpb24ubWFuZGF0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5kaXNhYmxlZCAmJiBpbmRleCAhPT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuTXVsdGlwbGVDaG9pY2VTaW5nbGVPcHRpb25cIlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYW5zd2VyIG9mIHF1ZXN0aW9uLmZvcm1RdWVzdGlvbkFuc3dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJhbnN3ZXIuYW5zd2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYW5zd2VyLmFuc3dlcklkID09IHF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5kaXNhYmxlZCAmJiBpbmRleCAhPT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2UgPSBhbnN3ZXIuYW5zd2VySWQgKyAnJzsgZW5hYmxlZE5leHRRdWVzdGlvbihxdWVzdGlvbiwgYW5zd2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuTXVsdGlwbGVDaG9pY2VNdWx0aXBsZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggKm5nRm9yPVwibGV0IGFuc3dlciBvZiBxdWVzdGlvbi5mb3JtUXVlc3Rpb25BbnN3ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImFuc3dlci5hbnN3ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwicXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbi5yZXNwb25zZSA/IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLnJlc3BvbnNlLmluZGV4T2YoYW5zd2VyLmFuc3dlcklkKSA+IC0xIDogXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlTXVsdGlwbGVPcHRpb24oYW5zd2VyLmFuc3dlcklkLCBxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLCAkZXZlbnQpOyBlbmFibGVkTmV4dFF1ZXN0aW9uKHF1ZXN0aW9uLCBhbnN3ZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzICpuZ1N3aXRjaENhc2U9XCJmb3JtUXVlc3Rpb25UeXBlLkRyb3BEb3duTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInF1ZXN0aW9uLmZvcm1RdWVzdGlvbkFuc3dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ3Jlc3BvbnNlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInF1ZXN0aW9uLm1hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VMb3ZPcHRpb24ocXVlc3Rpb24ucmVzcG9uc2VRdWVzdGlvbiwgJGV2ZW50KTsgZW5hYmxlZE5leHRRdWVzdGlvbihxdWVzdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby11c2VyLWZvcm0taW5wdXQtc2NhbGUgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuTGluZWFyU2NhbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwicXVlc3Rpb24ucXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCInYW5zd2VySWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24ucmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NhbGVNb2RlbF09XCJxdWVzdGlvbi5mb3JtUXVlc3Rpb25BbnN3ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uRmllbGRdPVwiJ2Fuc3dlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicXVlc3Rpb24ubWFuZGF0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInF1ZXN0aW9uLmRpc2FibGVkICYmIGluZGV4ICE9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLnJlc3BvbnNlID0gJGV2ZW50LmFuc3dlcklkICsgJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdXNlci1mb3JtLWlucHV0LXNjYWxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWRhdGUgKm5nU3dpdGNoQ2FzZT1cImZvcm1RdWVzdGlvblR5cGUuRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJxdWVzdGlvbi5yZXNwb25zZVF1ZXN0aW9uLmRhdGVSZXNwb25zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicXVlc3Rpb24ubWFuZGF0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicXVlc3Rpb24uZGlzYWJsZWQgJiYgaW5kZXggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10aW1lICpuZ1N3aXRjaENhc2U9XCJmb3JtUXVlc3Rpb25UeXBlLlRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24/LnRpbWVSZXNwb25zZSA/PyAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VUaW1lKHF1ZXN0aW9uLnJlc3BvbnNlUXVlc3Rpb24sICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInF1ZXN0aW9uLm1hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInF1ZXN0aW9uLmRpc2FibGVkICYmIGluZGV4ICE9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tZm9ybT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCIgI3NlY3Rpb25XcmFwcGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cImZvcm1SZXNwb25zZT8uaXNGaW5hbFwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEZWZpbml0aXZlQ2hhbmdlKCRldmVudClcIiBbbGFiZWxdPVwiJ0RFRklOSVRJVkUnIHwgc2hhcmVkTG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImZvcm0/LmZvcm1OYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBhY2NlcHQ9XCJpbWFnZS8qXCIgY2FwdHVyZT1cImVudmlyb25tZW50XCIgKGNoYW5nZSk9XCJoYW5kbGVEb2N1bWVudHNBZGRlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tZmlsZXMtdXBsb2FkICNmaWxlc1VwbG9hZENvbXBvbmVudCBbZG9jdW1lbnRzXT1cImZvcm1SZXNwb25zZS5kb2N1bWVudHNcIiAoZG9jdW1lbnRzQWRkZWQpPVwiaGFuZGxlRG9jdW1lbnRzQWRkZWQoJGV2ZW50KVwiIChkb2N1bWVudENoYW5nZUV2ZW50KT1cImhhbmRsZURvY3VtZW50Q2hhbmdlZCgkZXZlbnQpXCIgY2xhc3M9XCJjby1maWxlcy11cGxvYWRcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIiAoY2xpY2spPVwiY29tbWl0VXNlckZvcm0oKVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIiAoY2xpY2spPVwiaGFuZGxlQ2FuY2VsRm9ybSgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUJ1aWxkZXJVc2VyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBmb3JtUXVlc3Rpb25UeXBlOiB0eXBlb2YgRm9ybVF1ZXN0aW9uVHlwZSA9IEZvcm1RdWVzdGlvblR5cGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IFRhYmxlTmFtZTogdHlwZW9mIFRhYmxlTmFtZSA9IFRhYmxlTmFtZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgcHVibGljIG1vZGU6IFVzZXJGb3JtTW9kZSA9IFVzZXJGb3JtTW9kZS5DcmVhdGU7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2Zvcm06IEZvcm07XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVzVXBsb2FkQ29tcG9uZW50JylcclxuICBwdWJsaWMgZmlsZXNVcGxvYWRDb21wb25lbnQ6IEZpbGVzVXBsb2FkQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGZvcm0oZm9ybTogRm9ybSkge1xyXG4gICAgdGhpcy5fZm9ybSA9IGZvcm07XHJcbiAgICB0aGlzLl9wcmVwYXJlTmV3Rm9ybSgpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmb3JtKCk6IEZvcm0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm07XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VyRm9ybTogRm9ybVJlc3BvbnNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YWJsZTogVGFibGVOYW1lO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBrZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW5hYmxlUXVlc3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb2JqZWN0SWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzYXZlRm9ybTogRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGRlZmluaXRpdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7dmFsdWU6IGJvb2xlYW4sIGlkOiBudW1iZXJ9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyB2YWx1ZTogYm9vbGVhbiwgaWQ6IG51bWJlciB9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlTmV3Rm9ybVJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8Rm9ybVJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybVJlc3BvbnNlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3JNZXNzYWdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBwdWJsaWMgY2xvbmVGb3JtOiBGb3JtID0gTlVMTF9GT1JNX0ZVTExfT0JKRUNUO1xyXG4gIHB1YmxpYyBmb3JtUmVzcG9uc2U6IEZvcm1SZXNwb25zZTtcclxuXHJcbiAgcHVibGljIGFjdGl2ZVF1ZXN0aW9uOiBGb3JtUXVlc3Rpb247XHJcbiAgcHVibGljIGdvdG9RdWVzdGlvbjogbnVtYmVyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWZvcm0tYnVpbGRlci11c2VyLWZvcm0nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnksXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGV0ZWN0b3JSZWYgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5hYmxlZE5leHRRdWVzdGlvbihxdWVzdGlvbjogRm9ybVF1ZXN0aW9uLCBhbnN3ZXI/OiBGb3JtUXVlc3Rpb25BbnN3ZXIgfCBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlUXVlc3Rpb24gPSBxdWVzdGlvbjtcclxuICAgIGlmICh0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJykge1xyXG4gICAgICBhbnN3ZXIgPSBxdWVzdGlvbi5mb3JtUXVlc3Rpb25BbnN3ZXJzLmZpbmQoYSA9PiBhLmFuc3dlcklkID09PSBhbnN3ZXIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ290b1F1ZXN0aW9uOiBudW1iZXIgPSBhbnN3ZXIgPyBhbnN3ZXIuZ290b1F1ZXN0aW9uSWQgOiBxdWVzdGlvbi5nb3RvUXVlc3Rpb25JZDtcclxuICAgIGNvbnN0IGN1cnJlbnRJbmRleDogbnVtYmVyID0gdGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zLmZpbmRJbmRleChxID0+IHEucXVlc3Rpb25JZCA9PT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICBsZXQgbmV4dFF1ZXN0aW9uOiBGb3JtUXVlc3Rpb24gPSB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnNbY3VycmVudEluZGV4ICsgMV07XHJcbiAgICBpZiAoZ290b1F1ZXN0aW9uKSB7XHJcbiAgICAgIG5leHRRdWVzdGlvbiA9IHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9ucy5maW5kKHEgPT4gcS5xdWVzdGlvbklkID09PSBnb3RvUXVlc3Rpb24pO1xyXG4gICAgfVxyXG4gICAgaWYgKG5leHRRdWVzdGlvbikge1xyXG4gICAgICBuZXh0UXVlc3Rpb24uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZ290b1F1ZXN0aW9uID0gbmV4dFF1ZXN0aW9uLnNlcXVlbmNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25WYWxpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2F2ZUZvcm0ubmV4dCh0aGlzLmZvcm1SZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2FuY2VsRm9ybSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnVzZXJGb3JtICYmIHRoaXMudXNlckZvcm0ucmVzcG9uc2VJZCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3NoYXJlZENvbm5lY3RvclNlcnZpY2UudW5sb2NrRm9ybVJlc3BvbnNlKHRoaXMudXNlckZvcm0ucmVzcG9uc2VJZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLmVtaXQoPHN0cmluZz4gZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2xvbmVGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy51c2VyRm9ybSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZm9ybVJlc3BvbnNlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5jYW5jZWxGb3JtLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VNdWx0aXBsZU9wdGlvbihpZDogc3RyaW5nLCBmb3JtUmVzcG9uc2U6IEZvcm1RdWVzdGlvblJlc3BvbnNlLCBhZGQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlTGlzdDogc3RyaW5nW10gPSBmb3JtUmVzcG9uc2UucmVzcG9uc2UgPyBmb3JtUmVzcG9uc2UucmVzcG9uc2Uuc3BsaXQoJywnKSA6IFtdO1xyXG4gICAgaWYgKGFkZCkge1xyXG4gICAgICByZXNwb25zZUxpc3QucHVzaChpZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXNwb25zZUxpc3Quc3BsaWNlKHJlc3BvbnNlTGlzdC5pbmRleE9mKGlkKSwgMSk7XHJcbiAgICB9XHJcbiAgICBmb3JtUmVzcG9uc2UucmVzcG9uc2UgPSByZXNwb25zZUxpc3QudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMb3ZPcHRpb24oZm9ybVJlc3BvbnNlOiBGb3JtUXVlc3Rpb25SZXNwb25zZSwgdmFsdWU6IEZvcm1RdWVzdGlvbkFuc3dlcik6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLnF1ZXN0aW9uSWQgJiYgdmFsdWUucXVlc3Rpb25JZCAmJiB2YWx1ZS5hbnN3ZXIpIHtcclxuICAgICAgZm9ybVJlc3BvbnNlLnF1ZXN0aW9uSWQgPSB2YWx1ZS5xdWVzdGlvbklkO1xyXG4gICAgICBmb3JtUmVzcG9uc2UucmVzcG9uc2UgPSB2YWx1ZS5hbnN3ZXIudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VUaW1lKGZvcm1SZXNwb25zZTogRm9ybVF1ZXN0aW9uUmVzcG9uc2UsIHRpbWU6IERhdGUpOiB2b2lkIHtcclxuICAgIGZvcm1SZXNwb25zZS50aW1lUmVzcG9uc2UgPSB0aW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURvY3VtZW50RGVsZXRlZChkb2M6IENvRG9jdW1lbnQpOiB2b2lkIHtcclxuICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChkb2MsIHRoaXMuZm9ybVJlc3BvbnNlLmRvY3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnRDaGFuZ2VkKGRvYzogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzLnB1c2goZG9jKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEb2N1bWVudHNBZGRlZChkb2NzOiBDb0RvY3VtZW50W10pOiB2b2lkIHtcclxuICAgIGRvY3MuZm9yRWFjaCgoZG9jdW1lbnQ6IENvRG9jdW1lbnQpID0+IHtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzLnB1c2goZG9jdW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9wcmVwYXJlTmV3Rm9ybSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY2xvbmVGb3JtID0gPEZvcm0+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybSwgdGhpcy5mb3JtKTtcclxuICAgIGlmICghdGhpcy51c2VyRm9ybT8ucmVzcG9uc2VJZCkge1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZSA9IDxGb3JtUmVzcG9uc2U+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybVJlc3BvbnNlLCB0aGlzLnVzZXJGb3JtKTtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UuZm9ybUlkID0gdGhpcy5mb3JtLmZvcm1JZDtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5rZXkgPSB0aGlzLmtleTtcclxuICAgICAgRm9ybVV0aWxzLk1lcmdlUmVzcG9uc2VXaXRoRm9ybSh0aGlzLmNsb25lRm9ybSwgdGhpcy5mb3JtUmVzcG9uc2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb2RlID0gVXNlckZvcm1Nb2RlLkVkaXQ7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVFeGlzdGluZ0Zvcm0oKTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLmxvY2tGb3JtUmVzcG9uc2UodGhpcy51c2VyRm9ybS5yZXNwb25zZUlkKTtcclxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdCg8c3RyaW5nPiBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xvYWREb2NzKCk7XHJcbiAgICBpZiAodGhpcy5lbmFibGVRdWVzdGlvbnMpIHtcclxuICAgICAgdGhpcy5fZW5hYmxlUXVlc3Rpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlRXhpc3RpbmdGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9uZUZvcm0gPSA8Rm9ybT50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtLCB0aGlzLmZvcm0pO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UgPSA8Rm9ybVJlc3BvbnNlPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEZvcm1SZXNwb25zZSwgdGhpcy51c2VyRm9ybSk7XHJcbiAgICBGb3JtVXRpbHMuTWVyZ2VSZXNwb25zZVdpdGhGb3JtKHRoaXMuY2xvbmVGb3JtLCB0aGlzLmZvcm1SZXNwb25zZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuZW5hYmxlUXVlc3Rpb25zKSB7XHJcbiAgICAgIHRoaXMuX2VuYWJsZVF1ZXN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZW5hYmxlUXVlc3Rpb25zKCk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBjdXJyZW50SW5kZXggaW4gdGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zKSB7XHJcbiAgICAgIGlmICh0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnNbY3VycmVudEluZGV4XSkge1xyXG4gICAgICAgIGNvbnN0IG5leHRRdWVzdGlvbjogRm9ybVF1ZXN0aW9uID0gdGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zW2N1cnJlbnRJbmRleF07XHJcbiAgICAgICAgaWYgKG5leHRRdWVzdGlvbikge1xyXG4gICAgICAgICAgbmV4dFF1ZXN0aW9uLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSBuZXh0UXVlc3Rpb24uc2VxdWVuY2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ290b1F1ZXN0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZERvY3MoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybVJlc3BvbnNlLmRvY3VtZW50cykge1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybVJlc3BvbnNlLmRvY3VtZW50cy5mb3JFYWNoKChkb2M6IENvRG9jdW1lbnQpID0+IHtcclxuICAgICAgaWYgKGRvYy5kb2N1bWVudElkICYmICFkb2MuZG9jdW1lbnRCb2R5KSB7XHJcbiAgICAgICAgdGhpcy5fc2hhcmVkQ29ubmVjdG9yU2VydmljZS5nZXREb2N1bWVudENvbnRlbnQoZG9jLmRvY3VtZW50SWQpLnRoZW4oKGNvbnRlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgZG9jLmRvY3VtZW50Qm9keSA9IGNvbnRlbnQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURlZmluaXRpdmVDaGFuZ2UoZGVmaW5pdGl2ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UuaXNGaW5hbCA9IGRlZmluaXRpdmU7XHJcbiAgICB0aGlzLmRlZmluaXRpdmVDaGFuZ2UubmV4dCh7dmFsdWU6IGRlZmluaXRpdmUsIGlkOiB0aGlzLm9iamVjdElkfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tbWl0VXNlckZvcm0oKSB7XHJcbiAgICBGb3JtVXRpbHMuTWVyZ2VSZXNwb25zZVdpdGhGb3JtKHRoaXMuY2xvbmVGb3JtLCB0aGlzLmZvcm1SZXNwb25zZSk7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS5rZXkgPSB0aGlzLmtleTtcclxuICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XHJcbiAgICAgIGNhc2UgVXNlckZvcm1Nb2RlLkNyZWF0ZTpcclxuICAgICAgICB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLmluc2VydEZvcm1SZXNwb25zZSh0aGlzLmZvcm1SZXNwb25zZSkudGhlbigocmVzcG9uc2U6IEZvcm1SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3BvbnNlSWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zYXZlRm9ybS5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDYW5jZWxGb3JtKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZS5lbWl0KFwiRVJST1JfSU5TRVJUX0ZPUk1fUkVTUE9OU0VcIilcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNyZWF0ZU5ld0Zvcm1SZXNwb25zZS5uZXh0KHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBVc2VyRm9ybU1vZGUuRWRpdDpcclxuICAgICAgICB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLnVwZGF0ZUZvcm1SZXNwb25zZSh0aGlzLmZvcm1SZXNwb25zZSkudGhlbigocmVzcG9uc2U6IEZvcm1SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3BvbnNlSWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zYXZlRm9ybS5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDYW5jZWxGb3JtKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZS5lbWl0KFwiRVJST1JfU0FWSU5HX0ZPUk1fUkVTUE9OU0VcIilcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPcGVuRmlsZXNVcGxvYWQoKSB7XHJcbiAgICB0aGlzLmZpbGVzVXBsb2FkQ29tcG9uZW50Lm9wZW5GaWxlQnJvd3NlcigpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -68,4 +68,4 @@ export class SendMethodService {
|
|
|
68
68
|
SendMethodService.decorators = [
|
|
69
69
|
{ type: Injectable }
|
|
70
70
|
];
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNsSCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx3REFBd0QsRUFBQyxNQUFNLGdHQUFnRyxDQUFDO0FBR3hLLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFUyxvREFBK0MsR0FBc0QsSUFBSSxPQUFPLEVBQTRDLENBQUM7UUFDN0osb0RBQStDLEdBQXNELElBQUksT0FBTyxFQUE0QyxDQUFDO1FBQzdKLDJDQUFzQyxHQUE2QyxJQUFJLE9BQU8sRUFBbUMsQ0FBQztRQUVsSSxnREFBMkMsR0FBc0UsSUFBSSxPQUFPLEVBQTRELENBQUM7UUEwQ3pMLDJCQUFzQixHQUFhLEVBQUUsQ0FBQztRQUdyQyw4Q0FBeUMsR0FBNkMsSUFBSSx3Q0FBd0MsRUFBRSxDQUFDO1FBQ3JJLDhDQUF5QyxHQUE2QyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7UUFDckkscUNBQWdDLEdBQW9DLElBQUksK0JBQStCLEVBQUUsQ0FBQztRQUMxRyxzQ0FBaUMsR0FBNkQsSUFBSSx3REFBd0QsRUFBRSxDQUFDO0lBcUJ2SyxDQUFDO0lBbkVDLElBQVcsd0NBQXdDLENBQUMsS0FBK0M7UUFDakcsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLENBQUM7UUFDaEYsSUFBSSxDQUFDLCtDQUErQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsSUFBVyx3Q0FBd0M7UUFDakQsT0FBTyxJQUFJLENBQUMseUNBQXlDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsd0NBQXdDLENBQUMsS0FBK0M7UUFDakcsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLHlDQUF5QyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pJLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMseUNBQXlDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRztRQUNELElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELElBQVcsd0NBQXdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLHlDQUF5QyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLCtCQUErQixDQUFDLEtBQXNDO1FBQy9FLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBVywrQkFBK0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsZ0NBQWdDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsb0NBQW9DLENBQUMsS0FBK0Q7UUFDN0csSUFBSSxDQUFDLGlDQUFpQyxHQUFHLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxJQUFXLG9DQUFvQztRQUM3QyxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQztJQUNoRCxDQUFDO0lBVU0sa0JBQWtCLENBQUMsT0FBZTtRQUN2QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFlO1FBQ3BDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDNUcsQ0FBQzs7O1lBekVGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1ByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludC1wdXJjaGFzZS1vcmRlci1mb3ItdHJhbnNhY3Rpb24tb3JkZXItd2l0aG91dC1saW5lcy1yZXF1ZXN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2RTZXJ2aWNlIHtcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkOiBTdWJqZWN0PFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkOiBTdWJqZWN0PFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkOiBTdWJqZWN0PFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4oKTtcblxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRDb21iaW5lZEJhc2VSZXF1ZXN0Q2hhbmdlZDogU3ViamVjdDxQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdD4gPSBuZXcgU3ViamVjdDxQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdD4oKTtcblxuICBwdWJsaWMgc2V0IHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpIHtcbiAgICB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdmFsdWU7XG4gICAgdGhpcy5hY3RpdmVQcmludGVyID0gdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZTtcbiAgICB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QoKTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpIHtcbiAgICB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QudG9BZGRyZXNzZXMgJiYgdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdC50b0FkZHJlc3Nlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3NlcyA9IHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QudG9BZGRyZXNzZXMuc3BsaXQoJzsnKTtcbiAgICB9XG4gICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KCk6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Qge1xuICAgIHJldHVybiB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0O1xuICB9XG5cbiAgcHVibGljIHNldCByZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XG4gICAgdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IHZhbHVlO1xuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0IHtcbiAgICByZXR1cm4gdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcmVwb3J0aW5nRG9jdW1lbnRDb21iaW5lZEJhc2VSZXF1ZXN0KHZhbHVlOiBQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdCkge1xuICAgIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0ID0gdmFsdWU7XG4gICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRDb21iaW5lZFJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3QoKTogUHJpbnRQdXJjaGFzZU9yZGVyRm9yVHJhbnNhY3Rpb25PcmRlcldpdGhvdXRMaW5lc1JlcXVlc3Qge1xuICAgIHJldHVybiB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgYWN0aXZlUHJpbnRlcjogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xuICBwcml2YXRlIF9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTtcbiAgcHJpdmF0ZSBfcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XG4gIHByaXZhdGUgX3JlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0OiBQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdCA9IG5ldyBQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdCgpO1xuXG4gIHB1YmxpYyByZW1vdmVFbWFpbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5pbmRleE9mKGFkZHJlc3MpID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5zcGxpY2UodGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmluZGV4T2YoYWRkcmVzcyksIDEpO1xuICAgICAgdGhpcy5fdXBkYXRlRW1haWxBZGRyZXNzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkRW1haWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRW1haWxBZGRyZXNzZXMuaW5kZXhPZihhZGRyZXNzKSA8IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgICAgdGhpcy5fdXBkYXRlRW1haWxBZGRyZXNzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVFbWFpbEFkZHJlc3NlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmpvaW4oJzsnKTtcbiAgICB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCk7XG4gIH1cblxufVxuIl19
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNsSCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx3REFBd0QsRUFBQyxNQUFNLGdHQUFnRyxDQUFDO0FBR3hLLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFUyxvREFBK0MsR0FBc0QsSUFBSSxPQUFPLEVBQTRDLENBQUM7UUFDN0osb0RBQStDLEdBQXNELElBQUksT0FBTyxFQUE0QyxDQUFDO1FBQzdKLDJDQUFzQyxHQUE2QyxJQUFJLE9BQU8sRUFBbUMsQ0FBQztRQUVsSSxnREFBMkMsR0FBc0UsSUFBSSxPQUFPLEVBQTRELENBQUM7UUEwQ3pMLDJCQUFzQixHQUFhLEVBQUUsQ0FBQztRQUdyQyw4Q0FBeUMsR0FBNkMsSUFBSSx3Q0FBd0MsRUFBRSxDQUFDO1FBQ3JJLDhDQUF5QyxHQUE2QyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7UUFDckkscUNBQWdDLEdBQW9DLElBQUksK0JBQStCLEVBQUUsQ0FBQztRQUMxRyxzQ0FBaUMsR0FBNkQsSUFBSSx3REFBd0QsRUFBRSxDQUFDO0lBcUJ2SyxDQUFDO0lBbkVDLElBQVcsd0NBQXdDLENBQUMsS0FBK0M7UUFDakcsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLENBQUM7UUFDaEYsSUFBSSxDQUFDLCtDQUErQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsSUFBVyx3Q0FBd0M7UUFDakQsT0FBTyxJQUFJLENBQUMseUNBQXlDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsd0NBQXdDLENBQUMsS0FBK0M7UUFDakcsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLHlDQUF5QyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pJLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMseUNBQXlDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRztRQUNELElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELElBQVcsd0NBQXdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLHlDQUF5QyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLCtCQUErQixDQUFDLEtBQXNDO1FBQy9FLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBVywrQkFBK0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsZ0NBQWdDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsb0NBQW9DLENBQUMsS0FBK0Q7UUFDN0csSUFBSSxDQUFDLGlDQUFpQyxHQUFHLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxJQUFXLG9DQUFvQztRQUM3QyxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQztJQUNoRCxDQUFDO0lBVU0sa0JBQWtCLENBQUMsT0FBZTtRQUN2QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFlO1FBQ3BDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDNUcsQ0FBQzs7O1lBekVGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHVyY2hhc2Utb3JkZXItZm9yLXRyYW5zYWN0aW9uLW9yZGVyLXdpdGhvdXQtbGluZXMtcmVxdWVzdCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kU2VydmljZSB7XHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkOiBTdWJqZWN0PFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQ6IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgU3ViamVjdDxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0Q2hhbmdlZDogU3ViamVjdDxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PiA9IG5ldyBTdWJqZWN0PFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3RDaGFuZ2VkOiBTdWJqZWN0PFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0PiA9IG5ldyBTdWJqZWN0PFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0PigpO1xyXG5cclxuICBwdWJsaWMgc2V0IHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpIHtcclxuICAgIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB2YWx1ZTtcclxuICAgIHRoaXMuYWN0aXZlUHJpbnRlciA9IHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucHJpbnRlck5hbWU7XHJcbiAgICB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QoKTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xyXG4gICAgdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QudG9BZGRyZXNzZXMgJiYgdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdC50b0FkZHJlc3Nlcy5sZW5ndGggIT09IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzID0gdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdC50b0FkZHJlc3Nlcy5zcGxpdCgnOycpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCByZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KCk6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpIHtcclxuICAgIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0IHtcclxuICAgIHJldHVybiB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3QodmFsdWU6IFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0KSB7XHJcbiAgICB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdCA9IHZhbHVlO1xyXG4gICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRDb21iaW5lZFJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3QoKTogUHJpbnRQdXJjaGFzZU9yZGVyRm9yVHJhbnNhY3Rpb25PcmRlcldpdGhvdXRMaW5lc1JlcXVlc3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdGVkRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHVibGljIGFjdGl2ZVByaW50ZXI6IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSBfcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHJpdmF0ZSBfcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHJpdmF0ZSBfcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcbiAgcHJpdmF0ZSBfcmVwb3J0aW5nRG9jdW1lbnRDb21iaW5lZFJlcXVlc3Q6IFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0ID0gbmV3IFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0KCk7XHJcblxyXG4gIHB1YmxpYyByZW1vdmVFbWFpbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmluZGV4T2YoYWRkcmVzcykgPiAtMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRW1haWxBZGRyZXNzZXMuc3BsaWNlKHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5pbmRleE9mKGFkZHJlc3MpLCAxKTtcclxuICAgICAgdGhpcy5fdXBkYXRlRW1haWxBZGRyZXNzZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRFbWFpbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmluZGV4T2YoYWRkcmVzcykgPCAwKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xyXG4gICAgICB0aGlzLl91cGRhdGVFbWFpbEFkZHJlc3NlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlRW1haWxBZGRyZXNzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmpvaW4oJzsnKTtcclxuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|