@openmrs/ngx-formentry 3.2.1-pre.237 → 3.2.1-pre.244
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/openmrs-ngx-formentry.umd.js +74 -51
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +2 -2
- package/esm2015/components/number-input/number-input.module.js +1 -1
- package/esm2015/components/radio-button/radio.component.js +5 -5
- package/esm2015/form-entry/directives/historical-value.directive.js +1 -1
- package/esm2015/form-entry/form-factory/form-node.js +1 -1
- package/esm2015/form-entry/form-factory/validation.factory.js +1 -1
- package/esm2015/form-entry/helpers/historical-expression-helper-service.js +1 -1
- package/esm2015/form-entry/helpers/js-expression-helper.js +18 -4
- package/esm2015/form-entry/helpers/risk-dataset-table.js +36 -36
- package/esm2015/form-entry/question-models/interfaces/diagnosis-question-options.js +1 -1
- package/esm2015/form-entry/question-models/max-length-validation.model.js +1 -1
- package/esm2015/form-entry/question-models/min-length-validation.model.js +1 -1
- package/esm2015/form-entry/validators/max-length.validator.js +2 -2
- package/esm2015/form-entry/validators/min-length.validator.js +2 -2
- package/esm2015/form-entry/value-adapters/diagnosis.adapter.js +21 -15
- package/esm2015/form-entry/value-adapters/encounter.adapter.js +3 -2
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +4 -2
- package/esm2015/form-entry/value-adapters/patient-identifier.adapter.js +3 -3
- package/esm2015/lib/index.js +2 -2
- package/fesm2015/openmrs-ngx-formentry.js +83 -60
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/value-adapters/patient-identifier.adapter.d.ts +2 -2
- package/lib/index.d.ts +1 -1
- package/package.json +1 -1
- package/styles/ngx-formentry.css +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, forwardRef, Output, EventEmitter, Renderer2
|
|
1
|
+
import { Component, Input, forwardRef, Output, EventEmitter, Renderer2 } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { concat, of, Subject } from 'rxjs';
|
|
4
4
|
import { catchError, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';
|
|
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
132
132
|
}], dataSource: [{
|
|
133
133
|
type: Input
|
|
134
134
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlbW90ZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9uZ3gtcmVtb3RlLXNlbGVjdC9uZ3gtcmVtb3RlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1yZW1vdGUtc2VsZWN0L3JlbW90ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUNMLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDOzs7OztBQWdCeEIsTUFBTSxPQUFPLHFCQUFxQjtJQTZCaEMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQTFCdkMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFM0MsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUN0QixnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUUxQixhQUFRLEdBQUcsS0FB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O3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLElBQUk7c0JBQWIsTUFBTTtnQkFJSSxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBzd2l0Y2hNYXAsXG4gIHRhcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL3NlbGVjdC1vcHRpb24nO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZmUtcmVtb3RlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAncmVtb3RlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmVtb3RlU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvLyBASW5wdXQoKSBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICByZW1vdGVPcHRpb25zJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb25bXT47XG4gIHJlbW90ZU9wdGlvbnNMb2FkaW5nID0gZmFsc2U7XG4gIHJlbW90ZU9wdGlvbklucHV0JCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgc2VsZWN0ZWRSZW1vdGVPcHRpb25zOiBTZWxlY3RPcHRpb247XG4gIGl0ZW1zID0gW107XG4gIHZhbHVlID0gW107XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgc2VhcmNoVGV4dCA9ICcnO1xuICBub3RGb3VuZE1zZyA9ICdtYXRjaCBubyBmb3VuZCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlYXJjaC4uLic7XG4gIEBJbnB1dCgpIGNvbXBvbmVudElEOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRoZW1lID0gJ2RhcmsnO1xuICBAT3V0cHV0KCkgZG9uZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIF9kYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cbiAgcHVibGljIHNldCBkYXRhU291cmNlKHY6IERhdGFTb3VyY2UpIHtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gdjtcbiAgICBpZiAodGhpcy5fZGF0YVNvdXJjZSAmJiB0aGlzLl9kYXRhU291cmNlLmRhdGFGcm9tU291cmNlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb0RhdGFTb3VyY2VEYXRhQ2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRPcHRpb25zKCk7XG4gIH1cblxuICBzdWJzY3JpYmVUb0RhdGFTb3VyY2VEYXRhQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGFGcm9tU291cmNlQ2hhbmdlZC5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcbiAgICAgIGlmIChyZXN1bHRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHJlc3VsdHM7XG4gICAgICAgIHRoaXMubm90Rm91bmRNc2cgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm90Rm91bmRNc2cgPSAnTm90IGZvdW5kJztcbiAgICAgICAgdGhpcy5pdGVtcyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSAnJykge1xuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucmVzb2x2ZVNlbGVjdGVkVmFsdWUodmFsdWUpLnN1YnNjcmliZShcbiAgICAgICAgICAocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSBbcmVzdWx0XTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSZW1vdGVPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxuICAvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkge31cbiAgLy8gY2hhbmdlIGV2ZW50cyBmcm9tIHRoZSB0ZXh0YXJlYVxuICBvbkNoYW5nZShldmVudCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKGV2ZW50LmlkKTtcbiAgICAvLyAuLi4uLlxuICAgIC8vIHVwZGF0ZSB0aGUgZm9ybVxuICAgIC8vIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZGF0YSk7XG4gIH1cbiAgc2VsZWN0ZWQoZXZlbnQpIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShldmVudCk7XG4gIH1cblxuICBjb21wYXJlSXRlbXMgPSAoaXRlbSwgc2VsZWN0ZWQpID0+IHtcbiAgICBpZiAoaXRlbS52YWx1ZSAmJiBzZWxlY3RlZC52YWx1ZSkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWUgPT09IHNlbGVjdGVkLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgLy8gdGhlIG1ldGhvZCBzZXQgaW4gcmVnaXN0ZXJPbkNoYW5nZSwgaXQgaXMganVzdFxuICAvLyBhIHBsYWNlaG9sZGVyIGZvciBhIG1ldGhvZCB0aGF0IHRha2VzIG9uZSBwYXJhbWV0ZXIsXG4gIC8vIHdlIHVzZSBpdCB0byBlbWl0IGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChjaGFuZ2U6IGFueSkgPT4ge307XG5cbiAgdHJhY2tCeUZuKGl0ZW06IFNlbGVjdE9wdGlvbikge1xuICAgIHJldHVybiBpdGVtLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkT3B0aW9ucygpIHtcbiAgICB0aGlzLnJlbW90ZU9wdGlvbnMkID0gY29uY2F0KFxuICAgICAgb2YoW10pLCAvLyBkZWZhdWx0IGl0ZW1zXG4gICAgICB0aGlzLnJlbW90ZU9wdGlvbklucHV0JC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKHRlcm0pID0+XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNlYXJjaE9wdGlvbnModGVybSkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSwgLy8gZW1wdHkgbGlzdCBvbiBlcnJvclxuICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPG5nLXNlbGVjdFxuICAgIFtuZ0NsYXNzXT1cInsgJ2FmZS1jdXN0b20nOiB0aGVtZSA9PT0gJ2xpZ2h0JyB9XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtpdGVtc109XCJyZW1vdGVPcHRpb25zJCB8IGFzeW5jXCJcbiAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgW2hpZGVTZWxlY3RlZF09XCJ0cnVlXCJcbiAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUl0ZW1zXCJcbiAgICBbdHJhY2tCeUZuXT1cInRyYWNrQnlGblwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgdHlwZVRvU2VhcmNoVGV4dD1cIlBsZWFzZSBlbnRlciAyIG9yIG1vcmUgY2hhcmFjdGVyc1wiXG4gICAgW3R5cGVhaGVhZF09XCJyZW1vdGVPcHRpb25JbnB1dCRcIlxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRSZW1vdGVPcHRpb25zXCJcbiAgICBbYXBwZW5kVG9dPVwiJ2Zvcm0nXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZCgkZXZlbnQpXCJcbiAgPlxuICA8L25nLXNlbGVjdD5cbjwvZGl2PlxuIl19
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlbW90ZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9uZ3gtcmVtb3RlLXNlbGVjdC9uZ3gtcmVtb3RlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1yZW1vdGUtc2VsZWN0L3JlbW90ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUNMLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDOzs7OztBQWdCeEIsTUFBTSxPQUFPLHFCQUFxQjtJQTZCaEMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQTFCdkMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFM0MsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUN0QixnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUUxQixhQUFRLEdBQUcsS0FB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O3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLElBQUk7c0JBQWIsTUFBTTtnQkFJSSxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29uY2F0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIHN3aXRjaE1hcCxcbiAgdGFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvc2VsZWN0LW9wdGlvbic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2RhdGEtc291cmNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29mZS1yZW1vdGUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICdyZW1vdGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZW1vdGVTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8vIEBJbnB1dCgpIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHJlbW90ZU9wdGlvbnMkOiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbltdPjtcbiAgcmVtb3RlT3B0aW9uc0xvYWRpbmcgPSBmYWxzZTtcbiAgcmVtb3RlT3B0aW9uSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBzZWxlY3RlZFJlbW90ZU9wdGlvbnM6IFNlbGVjdE9wdGlvbjtcbiAgaXRlbXMgPSBbXTtcbiAgdmFsdWUgPSBbXTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBzZWFyY2hUZXh0ID0gJyc7XG4gIG5vdEZvdW5kTXNnID0gJ21hdGNoIG5vIGZvdW5kJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnU2VhcmNoLi4uJztcbiAgQElucHV0KCkgY29tcG9uZW50SUQ6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgdGhlbWUgPSAnZGFyayc7XG4gIEBPdXRwdXQoKSBkb25lOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgX2RhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgfVxuICBwdWJsaWMgc2V0IGRhdGFTb3VyY2UodjogRGF0YVNvdXJjZSkge1xuICAgIHRoaXMuX2RhdGFTb3VyY2UgPSB2O1xuICAgIGlmICh0aGlzLl9kYXRhU291cmNlICYmIHRoaXMuX2RhdGFTb3VyY2UuZGF0YUZyb21Tb3VyY2VDaGFuZ2VkKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvRGF0YVNvdXJjZURhdGFDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZE9wdGlvbnMoKTtcbiAgfVxuXG4gIHN1YnNjcmliZVRvRGF0YVNvdXJjZURhdGFDaGFuZ2VzKCkge1xuICAgIHRoaXMuX2RhdGFTb3VyY2UuZGF0YUZyb21Tb3VyY2VDaGFuZ2VkLnN1YnNjcmliZSgocmVzdWx0cykgPT4ge1xuICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLml0ZW1zID0gcmVzdWx0cztcbiAgICAgICAgdGhpcy5ub3RGb3VuZE1zZyA9ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5ub3RGb3VuZE1zZyA9ICdOb3QgZm91bmQnO1xuICAgICAgICB0aGlzLml0ZW1zID0gW107XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09ICcnKSB7XG4gICAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5yZXNvbHZlU2VsZWN0ZWRWYWx1ZSh2YWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IFtyZXN1bHRdO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJlbW90ZU9wdGlvbnMgPSByZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXG4gIC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7fVxuICAvLyBjaGFuZ2UgZXZlbnRzIGZyb20gdGhlIHRleHRhcmVhXG4gIG9uQ2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXZlbnQuaWQpO1xuICAgIC8vIC4uLi4uXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgLy8gdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5kYXRhKTtcbiAgfVxuICBzZWxlY3RlZChldmVudCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKGV2ZW50KTtcbiAgfVxuXG4gIGNvbXBhcmVJdGVtcyA9IChpdGVtLCBzZWxlY3RlZCkgPT4ge1xuICAgIGlmIChpdGVtLnZhbHVlICYmIHNlbGVjdGVkLnZhbHVlKSB7XG4gICAgICByZXR1cm4gaXRlbS52YWx1ZSA9PT0gc2VsZWN0ZWQudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICAvLyB0aGUgbWV0aG9kIHNldCBpbiByZWdpc3Rlck9uQ2hhbmdlLCBpdCBpcyBqdXN0XG4gIC8vIGEgcGxhY2Vob2xkZXIgZm9yIGEgbWV0aG9kIHRoYXQgdGFrZXMgb25lIHBhcmFtZXRlcixcbiAgLy8gd2UgdXNlIGl0IHRvIGVtaXQgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKGNoYW5nZTogYW55KSA9PiB7fTtcblxuICB0cmFja0J5Rm4oaXRlbTogU2VsZWN0T3B0aW9uKSB7XG4gICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGxvYWRPcHRpb25zKCkge1xuICAgIHRoaXMucmVtb3RlT3B0aW9ucyQgPSBjb25jYXQoXG4gICAgICBvZihbXSksIC8vIGRlZmF1bHQgaXRlbXNcbiAgICAgIHRoaXMucmVtb3RlT3B0aW9uSW5wdXQkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgodGVybSkgPT5cbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc2VhcmNoT3B0aW9ucyh0ZXJtKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLCAvLyBlbXB0eSBsaXN0IG9uIGVycm9yXG4gICAgICAgICAgICB0YXAoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8bmctc2VsZWN0XG4gICAgW25nQ2xhc3NdPVwieyAnYWZlLWN1c3RvbSc6IHRoZW1lID09PSAnbGlnaHQnIH1cIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2l0ZW1zXT1cInJlbW90ZU9wdGlvbnMkIHwgYXN5bmNcIlxuICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICBbaGlkZVNlbGVjdGVkXT1cInRydWVcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlSXRlbXNcIlxuICAgIFt0cmFja0J5Rm5dPVwidHJhY2tCeUZuXCJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlVG9TZWFyY2hUZXh0PVwiUGxlYXNlIGVudGVyIDIgb3IgbW9yZSBjaGFyYWN0ZXJzXCJcbiAgICBbdHlwZWFoZWFkXT1cInJlbW90ZU9wdGlvbklucHV0JFwiXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlbW90ZU9wdGlvbnNcIlxuICAgIFthcHBlbmRUb109XCInZm9ybSdcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkKCRldmVudClcIlxuICA+XG4gIDwvbmctc2VsZWN0PlxuPC9kaXY+XG4iXX0=
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18
18
|
providers: []
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVExRCxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSGIsb0JBQW9CLEVBQUUsb0JBQW9CLGFBRi9DLFlBQVksRUFBRSxXQUFXLGFBQ3pCLG9CQUFvQjtnSEFJbkIsaUJBQWlCLGFBRmpCLEVBQUUsWUFISixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7NEZBS3pCLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7b0JBQzFELFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTnVtYmVySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL251bWJlci1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVySW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL251bWJlci5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtOdW1iZXJJbnB1dENvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW051bWJlcklucHV0Q29tcG9uZW50LCBOdW1iZXJJbnB1dERpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -27,7 +27,7 @@ export class RadioButtonControlComponent {
|
|
|
27
27
|
}
|
|
28
28
|
get value() {
|
|
29
29
|
var _a;
|
|
30
|
-
return (_a = this._value) !== null && _a !== void 0 ? _a :
|
|
30
|
+
return (_a = this._value) !== null && _a !== void 0 ? _a : '';
|
|
31
31
|
}
|
|
32
32
|
set value(value) {
|
|
33
33
|
this._value = value;
|
|
@@ -58,9 +58,9 @@ export class RadioButtonControlComponent {
|
|
|
58
58
|
}
|
|
59
59
|
updateSelectedOption() {
|
|
60
60
|
if (this.selected) {
|
|
61
|
-
const maybeOpt = this.options.find(opt => opt.value === this.selected);
|
|
61
|
+
const maybeOpt = this.options.find((opt) => opt.value === this.selected);
|
|
62
62
|
if (maybeOpt) {
|
|
63
|
-
this.options.forEach(opt => opt.checked = opt === maybeOpt);
|
|
63
|
+
this.options.forEach((opt) => (opt.checked = opt === maybeOpt));
|
|
64
64
|
this.value = this.selected;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -73,7 +73,7 @@ RadioButtonControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
73
73
|
useExisting: forwardRef(() => RadioButtonControlComponent),
|
|
74
74
|
multi: true
|
|
75
75
|
}
|
|
76
|
-
], usesOnChanges: true, ngImport: i0, template: "<fieldset class=\"cds--fieldset\">\n <div\n *ngFor=\"let option of options; let i = index\"\n class=\"cds--form-item cds--radio-wrapper\"\n [ngClass]=\"{
|
|
76
|
+
], usesOnChanges: true, ngImport: i0, template: "<fieldset class=\"cds--fieldset\">\n <div\n *ngFor=\"let option of options; let i = index\"\n class=\"cds--form-item cds--radio-wrapper\"\n [ngClass]=\"{ inline: orientation === 'horizontal' }\"\n >\n <label class=\"form-control no-border\">\n <input\n type=\"radio\"\n [id]=\"id + '_' + i\"\n [name]=\"id\"\n [checked]=\"option.checked\"\n [value]=\"option.value\"\n (click)=\"handleClick(option)\"\n (change)=\"handleChange(option)\"\n />\n {{ option.label }}\n </label>\n </div>\n</fieldset>\n", styles: [".inline{display:inline-block;padding-right:.5rem}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
77
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RadioButtonControlComponent, decorators: [{
|
|
78
78
|
type: Component,
|
|
79
79
|
args: [{
|
|
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
99
99
|
}], orientation: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9yYWRpby1idXR0b24vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9yYWRpby1idXR0b24vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsVUFBVSxFQUlYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBY3pFLE1BQU0sT0FBTywyQkFBMkI7SUFaeEM7UUFvQlUsV0FBTSxHQUFRLFNBQVMsQ0FBQztRQXFEekIsYUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQWlCN0I7SUFyRVEsUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGlDQUFNLEdBQUcsS0FBRSxPQUFPLEVBQUUsS0FBSyxJQUFHLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxXQUFXLEVBQUU7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c0JBQTVCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIGZvcndhcmRSZWYsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZmUtcmFkaW8tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8uY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQnV0dG9uQ29udHJvbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbnRyb2xDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwdWJsaWMgaWQ6IFN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZDogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dVbnNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgcHVibGljIG9yaWVudGF0aW9uOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zLm1hcCgob3B0KSA9PiAoeyAuLi5vcHQsIGNoZWNrZWQ6IGZhbHNlIH0pKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkT3B0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIGNvbnN0IG5ld1ZhbHVlT3B0ID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSB2YWx1ZSk7XG4gICAgaWYgKG5ld1ZhbHVlT3B0KSB7XG4gICAgICBPYmplY3QuYXNzaWduKG5ld1ZhbHVlT3B0LCB7IGNoZWNrZWQ6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoXG4gICAgZm46IChuZXdWYWx1ZT86IGFueSwgZW1pdE1vZGVsRXZlbnQ/OiBib29sZWFuKSA9PiB2b2lkXG4gICkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gJyc7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2xpY2sob3B0aW9uKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dVbnNlbGVjdCAmJiBvcHRpb24uY2hlY2tlZCkge1xuICAgICAgb3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIC8vIGRvZXNuJ3QgZmlyZSBieSBpdHNlbGYsIHNvIHdlIGNyZWF0ZSBhIHN5bnRoZXRpYyBjaGFuZ2UgZXZlbnRcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKG9wdGlvbik7XG4gICAgfSBlbHNlIGlmICghb3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIG9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKG9wdGlvbikge1xuICAgIGlmICghb3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBvcHRpb24udmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZSA9IChhcmdzKSA9PiB7fTtcbiAgcHVibGljIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZE9wdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRPcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IG1heWJlT3B0ID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSB0aGlzLnNlbGVjdGVkKTtcbiAgICAgIGlmIChtYXliZU9wdCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0KSA9PiAob3B0LmNoZWNrZWQgPSBvcHQgPT09IG1heWJlT3B0KSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnNlbGVjdGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGZpZWxkc2V0IGNsYXNzPVwiY2RzLS1maWVsZHNldFwiPlxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICBjbGFzcz1cImNkcy0tZm9ybS1pdGVtIGNkcy0tcmFkaW8td3JhcHBlclwiXG4gICAgW25nQ2xhc3NdPVwieyBpbmxpbmU6IG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgfVwiXG4gID5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbm8tYm9yZGVyXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgW2lkXT1cImlkICsgJ18nICsgaVwiXG4gICAgICAgIFtuYW1lXT1cImlkXCJcbiAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLmNoZWNrZWRcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKG9wdGlvbilcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZShvcHRpb24pXCJcbiAgICAgIC8+XG4gICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbjwvZmllbGRzZXQ+XG4iXX0=
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
65
65
|
}], node: [{
|
|
66
66
|
type: Input
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC12YWx1ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2RpcmVjdGl2ZXMvaGlzdG9yaWNhbC12YWx1ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDMUYsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNckQsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUFvQixxQkFBbUQ7UUFBbkQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUo3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFJdUIsQ0FBQztJQUczRSxRQUFRLENBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQ3BDLElBQ0UsSUFBSSxDQUFDLEtBQUs7Z0JBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztvQkFDOUQsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUNyRTtnQkFDQSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FDOUMsQ0FBQztnQkFFRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsaUJBQWlCLENBQ2xCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25DO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFDSSxJQUFJLENBQUMsSUFBYztRQUNyQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMscUJBQXFCO2dCQUN6QyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFDdkQ7Z0JBQ0EsTUFBTSxPQUFPLEdBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDN0MsSUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssUUFBUTtvQkFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxLQUFLLGNBQWM7b0JBQ3BELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsS0FBSyxlQUFlO29CQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUM3QztvQkFDQSxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQ25CLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztvQkFDRixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztvQkFFbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsR0FBRyxPQUFPLENBQUM7aUJBQ3BEO3FCQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7b0JBQ2xFLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO29CQUM3RCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztvQkFFbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsR0FBRyxPQUFPLENBQUM7aUJBQ3BEO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7O3NIQWhFVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO21IQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQU9QLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBc0I3QixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBIaXN0b3JpY2FsRmllbGRIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaGVscGVycy9oaXN0b3JpY2FsLWZpZWxkLWhlbHBlci1zZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE5vZGVCYXNlIH0gZnJvbSAnLi4vZm9ybS1mYWN0b3J5L2Zvcm0tbm9kZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogYFtub2RlXWBcbn0pXG5leHBvcnQgY2xhc3MgSGlzdG9yaWNhbFZhbHVlRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgX25vZGU6IE5vZGVCYXNlO1xuICBAT3V0cHV0KCkgX25vZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdD4oKTtcblxuICBoaXN0b3JpY2FsRGlzcGxheTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaGlzdG9yaWNhbEZpZWxkSGVscGVyOiBIaXN0b3JpY2FsRmllbGRIZWxwZXJTZXJ2aWNlKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgc2V0VmFsdWUoZSkge1xuICAgIGlmIChlLnRhcmdldC5uYW1lID09PSAnaGlzdG9yeVZhbHVlJykge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9ub2RlICYmXG4gICAgICAgICghdGhpcy5jb21wYXJlU3RyaW5ncyh0aGlzLl9ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUsICdwYWdlJykgfHxcbiAgICAgICAgICAhdGhpcy5jb21wYXJlU3RyaW5ncyh0aGlzLl9ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUsICdzZWN0aW9uJykpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fbm9kZS5jb250cm9sLnNldFZhbHVlKFxuICAgICAgICAgIHRoaXMuX25vZGUucXVlc3Rpb24uaGlzdG9yaWNhbERhdGFWYWx1ZS52YWx1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX25vZGUucXVlc3Rpb25bXG4gICAgICAgICAgJ2hpc3RvcmljYWxWYWx1ZSdcbiAgICAgICAgXSA9IHRoaXMuX25vZGUucXVlc3Rpb24uaGlzdG9yaWNhbERhdGFWYWx1ZTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5fbm9kZUNoYW5nZS5lbWl0KHRoaXMuX25vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBub2RlKG5vZGU6IE5vZGVCYXNlKSB7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIHRoaXMuX25vZGUgPSBub2RlO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9ub2RlLnF1ZXN0aW9uLmVuYWJsZUhpc3RvcmljYWxWYWx1ZSAmJlxuICAgICAgICAhXy5pc1VuZGVmaW5lZCh0aGlzLl9ub2RlLnF1ZXN0aW9uLmhpc3RvcmljYWxEYXRhVmFsdWUpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgZGlzcGxheTogYW55ID0geyB0ZXh0OiAnJywgX2RhdGU6ICcnIH07XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLl9ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdzZWxlY3QnIHx8XG4gICAgICAgICAgdGhpcy5fbm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAnbXVsdGktc2VsZWN0JyB8fFxuICAgICAgICAgIHRoaXMuX25vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3NpbmdsZS1zZWxlY3QnIHx8XG4gICAgICAgICAgdGhpcy5fbm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAncmFkaW8nXG4gICAgICAgICkge1xuICAgICAgICAgIGRpc3BsYXkudGV4dCA9IHRoaXMuaGlzdG9yaWNhbEZpZWxkSGVscGVyLmdldERpc3BsYXlUZXh0RnJvbU9wdGlvbnMoXG4gICAgICAgICAgICB0aGlzLl9ub2RlLnF1ZXN0aW9uLFxuICAgICAgICAgICAgJ3ZhbHVlJyxcbiAgICAgICAgICAgICdsYWJlbCdcbiAgICAgICAgICApO1xuICAgICAgICAgIGRpc3BsYXkuX2RhdGUgPSB0aGlzLl9ub2RlLnF1ZXN0aW9uLmhpc3RvcmljYWxEYXRhVmFsdWUudmFsdWVEYXRlO1xuXG4gICAgICAgICAgdGhpcy5fbm9kZS5xdWVzdGlvblsnaGlzdG9yaWNhbERpc3BsYXknXSA9IGRpc3BsYXk7XG4gICAgICAgIH0gZWxzZSBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5fbm9kZS5xdWVzdGlvbi5oaXN0b3JpY2FsRGF0YVZhbHVlKSkge1xuICAgICAgICAgIGRpc3BsYXkudGV4dCA9IHRoaXMuX25vZGUucXVlc3Rpb24uaGlzdG9yaWNhbERhdGFWYWx1ZS52YWx1ZTtcbiAgICAgICAgICBkaXNwbGF5Ll9kYXRlID0gdGhpcy5fbm9kZS5xdWVzdGlvbi5oaXN0b3JpY2FsRGF0YVZhbHVlLnZhbHVlRGF0ZTtcblxuICAgICAgICAgIHRoaXMuX25vZGUucXVlc3Rpb25bJ2hpc3RvcmljYWxEaXNwbGF5J10gPSBkaXNwbGF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wYXJlU3RyaW5ncyhhOiBzdHJpbmcsIGI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhID09PSBiO1xuICB9XG59XG4iXX0=
|
|
@@ -93,4 +93,4 @@ export class ArrayNode extends NodeBase {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLE9BQWdCLFFBQVE7SUFVNUIsWUFDRSxRQUFzQixFQUN0QixPQUFzRCxFQUN0RCxJQUFXLEVBQ1gsVUFBbUI7UUFFbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFhLElBQUksQ0FBQztJQUUzQixlQUFlLEtBQUssQ0FBQztJQUNyQixlQUFlLEtBQUssQ0FBQztDQUN0QjtBQUVELE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBUTtJQUNwQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxZQUNFLFFBQXNCLEVBQ3RCLE9BQXNELEVBQ3RELGFBQTRELEVBQzVELElBQVcsRUFDWCxVQUFtQjtRQUVuQixLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxRQUFRO0lBRXJDLFlBQ0UsUUFBc0IsRUFDdEIsT0FBc0QsRUFDdEQsYUFBNEQsRUFDNUQsSUFBVyxFQUNYLFVBQW1CO1FBRW5CLEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFjO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBUTtJQU1yQyxZQUNFLFFBQXNCLEVBQ3RCLE9BQXNELEVBQ3RELGFBQTRELEVBQ3BELFdBQXlCLEVBQ2pDLElBQVcsRUFDWCxVQUFtQjtRQUVuQixLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFKbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFUM0IsMkJBQXNCLEdBQVUsRUFBRSxDQUFDO1FBY3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BFLE9BQU8sQ0FDTCx5QkFBeUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsVUFBVSxDQUM1RSxDQUFDO1lBQ0YsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxHQUFjLElBQUksQ0FBQyxlQUFlLENBQ3ZDLElBQUksQ0FBQyxRQUE2QixFQUNsQyxJQUFJLEVBQ0osSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztZQUNGLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BFLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzFFLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRWxDLE1BQU0sQ0FBQyxHQUFjLElBQUksQ0FBQyxlQUFlLENBQ3ZDLElBQUksQ0FBQyxRQUE2QixFQUNsQyxJQUFJLEVBQ0osSUFBSSxDQUFDLFdBQVcsRUFDaEIsS0FBSyxDQUNOLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLENBQUMsQ0FBQzthQUNWO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FDMUIsNENBQTRDLENBQzdDLENBQUM7WUFDRixJQUFJLFlBQVksRUFBRTtnQkFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDbkM7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLElBQVM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNEJBQTRCLENBQUMsSUFBZTtRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRmFjdG9yeSB9IGZyb20gJy4vZm9ybS5mYWN0b3J5JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuXG4vLyBpbXBvcnQgeyBBZmVDb250cm9sVHlwZSwgQWZlRm9ybUFycmF5LCBBZmVGb3JtR3JvdXAsIEFmZUZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSwgUmVwZWF0aW5nUXVlc3Rpb24gfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuZXhwb3J0IGludGVyZmFjZSBDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIge1xuICBhZGRDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZnVuYzogYW55KTtcblxuICBmaXJlQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKG5vZGU6IEdyb3VwTm9kZSk7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb24gPSAoXG4gIHF1ZXN0aW9uOiBSZXBlYXRpbmdRdWVzdGlvbixcbiAgbm9kZTogQXJyYXlOb2RlLFxuICBmYWN0b3J5PzogRm9ybUZhY3RvcnksXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4pID0+IEdyb3VwTm9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVBcnJheUNoaWxkTm9kZUZ1bmN0aW9uIHtcbiAgKGluZGV4OiBudW1iZXIsIG5vZGU6IEFycmF5Tm9kZSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb2RlQmFzZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBjaGlsZHJlbj86IGFueTtcbiAgcHVibGljIG5vZGVJbmRleD86IE51bWJlcjtcbiAgcHJpdmF0ZSBfY29udHJvbDogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXA7XG4gIHByaXZhdGUgX3F1ZXN0aW9uTW9kZWw6IFF1ZXN0aW9uQmFzZTtcbiAgcHJpdmF0ZSBfZm9ybTogRm9ybTtcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpbml0aWFsVmFsdWU6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuX2NvbnRyb2wgPSBjb250cm9sO1xuICAgIHRoaXMuX3F1ZXN0aW9uTW9kZWwgPSBxdWVzdGlvbjtcbiAgICB0aGlzLl9mb3JtID0gZm9ybTtcbiAgICB0aGlzLl9wYXRoID0gcGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLicgKyBxdWVzdGlvbi5rZXkgOiBxdWVzdGlvbi5rZXk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXN0aW9uTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRyb2woKTogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtKCk6IEZvcm0ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGg7XG4gIH1cbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikgeyB9XG5cbiAgY3JlYXRlQ2hpbGROb2RlKCkgeyB9XG4gIHJlbW92ZUNoaWxkTm9kZSgpIHsgfVxufVxuXG5leHBvcnQgY2xhc3MgTGVhZk5vZGUgZXh0ZW5kcyBOb2RlQmFzZSB7XG4gIGdldCBjaGlsZHJlbigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm0sXG4gICAgcGFyZW50UGF0aD86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihxdWVzdGlvbiwgY29udHJvbCwgZm9ybSwgcGFyZW50UGF0aCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdyb3VwTm9kZSBleHRlbmRzIE5vZGVCYXNlIHtcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtLFxuICAgIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIocXVlc3Rpb24sIGNvbnRyb2wsIGZvcm0sIHBhcmVudFBhdGgpO1xuICAgIHRoaXMuX2NoaWxkcmVuID0ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaWxkcmVuKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIHNldENoaWxkKGtleTogc3RyaW5nLCBub2RlOiBOb2RlQmFzZSkge1xuICAgIHRoaXMuY2hpbGRyZW5ba2V5XSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFycmF5Tm9kZSBleHRlbmRzIE5vZGVCYXNlIGltcGxlbWVudHMgQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyIHtcbiAgcHJpdmF0ZSBjaGlsZE5vZGVDcmVhdGVkRXZlbnRzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9jaGlsZHJlbjogR3JvdXBOb2RlW107XG4gIHB1YmxpYyBjcmVhdGVDaGlsZEZ1bmM6IENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG4gIHB1YmxpYyByZW1vdmVDaGlsZEZ1bmM6IFJlbW92ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIHByaXZhdGUgZm9ybUZhY3Rvcnk/OiBGb3JtRmFjdG9yeSxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKHF1ZXN0aW9uLCBjb250cm9sLCBmb3JtLCBwYXJlbnRQYXRoKTtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IFtdO1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZHJlbigpOiBHcm91cE5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNoaWxkTm9kZSgpOiBHcm91cE5vZGUge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA+PSB0aGlzLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMubWF4KSB7XG4gICAgICBjb25maXJtKFxuICAgICAgICBgQ2Fubm90IGhhdmUgbW9yZSB0aGFuICR7dGhpcy5xdWVzdGlvbi5leHRyYXMucXVlc3Rpb25PcHRpb25zLm1heH0gZW50cmllc2BcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmNyZWF0ZUNoaWxkRnVuYykge1xuICAgICAgY29uc3QgZzogR3JvdXBOb2RlID0gdGhpcy5jcmVhdGVDaGlsZEZ1bmMoXG4gICAgICAgIHRoaXMucXVlc3Rpb24gYXMgUmVwZWF0aW5nUXVlc3Rpb24sXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuZm9ybUZhY3RvcnlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICByZXR1cm4gZztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA8PSB0aGlzLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMubWluKSB7XG4gICAgICBjb25zdCBjbGVhclByb21wdCA9IGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGlzIGVudHJ5P2ApO1xuICAgICAgaWYgKGNsZWFyUHJvbXB0ICYmIHRoaXMucmVtb3ZlQ2hpbGRGdW5jICYmIHRoaXMuY3JlYXRlQ2hpbGROb2RlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGRGdW5jKGluZGV4LCB0aGlzKTtcblxuICAgICAgICBjb25zdCBnOiBHcm91cE5vZGUgPSB0aGlzLmNyZWF0ZUNoaWxkRnVuYyhcbiAgICAgICAgICB0aGlzLnF1ZXN0aW9uIGFzIFJlcGVhdGluZ1F1ZXN0aW9uLFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5mb3JtRmFjdG9yeSxcbiAgICAgICAgICBpbmRleFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICAgIHJldHVybiBnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZW1vdmVQcm9tcHQgPSBjb25maXJtKFxuICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/J1xuICAgICAgKTtcbiAgICAgIGlmIChyZW1vdmVQcm9tcHQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVtb3ZlQ2hpbGRGdW5jKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZEZ1bmMoaW5kZXgsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKGZ1bmM6IGFueSkge1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cy5wdXNoKGZ1bmMpO1xuICB9XG5cbiAgZmlyZUNoaWxkTm9kZUNyZWF0ZWRMaXN0ZW5lcihub2RlOiBHcm91cE5vZGUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZnVuYzogYW55ID0gdGhpcy5jaGlsZE5vZGVDcmVhdGVkRXZlbnRzW2ldO1xuICAgICAgZnVuYyhub2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLE9BQWdCLFFBQVE7SUFVNUIsWUFDRSxRQUFzQixFQUN0QixPQUFzRCxFQUN0RCxJQUFXLEVBQ1gsVUFBbUI7UUFFbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFhLElBQUcsQ0FBQztJQUUxQixlQUFlLEtBQUksQ0FBQztJQUNwQixlQUFlLEtBQUksQ0FBQztDQUNyQjtBQUVELE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBUTtJQUNwQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxZQUNFLFFBQXNCLEVBQ3RCLE9BQXNELEVBQ3RELGFBQTRELEVBQzVE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QUFFO29CQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDbkM7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLElBQVM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNEJBQTRCLENBQUMsSUFBZTtRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRmFjdG9yeSB9IGZyb20gJy4vZm9ybS5mYWN0b3J5JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuXG4vLyBpbXBvcnQgeyBBZmVDb250cm9sVHlwZSwgQWZlRm9ybUFycmF5LCBBZmVGb3JtR3JvdXAsIEFmZUZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSwgUmVwZWF0aW5nUXVlc3Rpb24gfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuZXhwb3J0IGludGVyZmFjZSBDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIge1xuICBhZGRDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZnVuYzogYW55KTtcblxuICBmaXJlQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKG5vZGU6IEdyb3VwTm9kZSk7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb24gPSAoXG4gIHF1ZXN0aW9uOiBSZXBlYXRpbmdRdWVzdGlvbixcbiAgbm9kZTogQXJyYXlOb2RlLFxuICBmYWN0b3J5PzogRm9ybUZhY3RvcnksXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4pID0+IEdyb3VwTm9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVBcnJheUNoaWxkTm9kZUZ1bmN0aW9uIHtcbiAgKGluZGV4OiBudW1iZXIsIG5vZGU6IEFycmF5Tm9kZSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb2RlQmFzZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBjaGlsZHJlbj86IGFueTtcbiAgcHVibGljIG5vZGVJbmRleD86IE51bWJlcjtcbiAgcHJpdmF0ZSBfY29udHJvbDogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXA7XG4gIHByaXZhdGUgX3F1ZXN0aW9uTW9kZWw6IFF1ZXN0aW9uQmFzZTtcbiAgcHJpdmF0ZSBfZm9ybTogRm9ybTtcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpbml0aWFsVmFsdWU6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuX2NvbnRyb2wgPSBjb250cm9sO1xuICAgIHRoaXMuX3F1ZXN0aW9uTW9kZWwgPSBxdWVzdGlvbjtcbiAgICB0aGlzLl9mb3JtID0gZm9ybTtcbiAgICB0aGlzLl9wYXRoID0gcGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLicgKyBxdWVzdGlvbi5rZXkgOiBxdWVzdGlvbi5rZXk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXN0aW9uTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRyb2woKTogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtKCk6IEZvcm0ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGg7XG4gIH1cbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge31cblxuICBjcmVhdGVDaGlsZE5vZGUoKSB7fVxuICByZW1vdmVDaGlsZE5vZGUoKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgTGVhZk5vZGUgZXh0ZW5kcyBOb2RlQmFzZSB7XG4gIGdldCBjaGlsZHJlbigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm0sXG4gICAgcGFyZW50UGF0aD86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihxdWVzdGlvbiwgY29udHJvbCwgZm9ybSwgcGFyZW50UGF0aCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdyb3VwTm9kZSBleHRlbmRzIE5vZGVCYXNlIHtcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtLFxuICAgIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIocXVlc3Rpb24sIGNvbnRyb2wsIGZvcm0sIHBhcmVudFBhdGgpO1xuICAgIHRoaXMuX2NoaWxkcmVuID0ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaWxkcmVuKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIHNldENoaWxkKGtleTogc3RyaW5nLCBub2RlOiBOb2RlQmFzZSkge1xuICAgIHRoaXMuY2hpbGRyZW5ba2V5XSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFycmF5Tm9kZSBleHRlbmRzIE5vZGVCYXNlIGltcGxlbWVudHMgQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyIHtcbiAgcHJpdmF0ZSBjaGlsZE5vZGVDcmVhdGVkRXZlbnRzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9jaGlsZHJlbjogR3JvdXBOb2RlW107XG4gIHB1YmxpYyBjcmVhdGVDaGlsZEZ1bmM6IENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG4gIHB1YmxpYyByZW1vdmVDaGlsZEZ1bmM6IFJlbW92ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIHByaXZhdGUgZm9ybUZhY3Rvcnk/OiBGb3JtRmFjdG9yeSxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKHF1ZXN0aW9uLCBjb250cm9sLCBmb3JtLCBwYXJlbnRQYXRoKTtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IFtdO1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZHJlbigpOiBHcm91cE5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNoaWxkTm9kZSgpOiBHcm91cE5vZGUge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA+PSB0aGlzLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMubWF4KSB7XG4gICAgICBjb25maXJtKFxuICAgICAgICBgQ2Fubm90IGhhdmUgbW9yZSB0aGFuICR7dGhpcy5xdWVzdGlvbi5leHRyYXMucXVlc3Rpb25PcHRpb25zLm1heH0gZW50cmllc2BcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmNyZWF0ZUNoaWxkRnVuYykge1xuICAgICAgY29uc3QgZzogR3JvdXBOb2RlID0gdGhpcy5jcmVhdGVDaGlsZEZ1bmMoXG4gICAgICAgIHRoaXMucXVlc3Rpb24gYXMgUmVwZWF0aW5nUXVlc3Rpb24sXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuZm9ybUZhY3RvcnlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICByZXR1cm4gZztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA8PSB0aGlzLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMubWluKSB7XG4gICAgICBjb25zdCBjbGVhclByb21wdCA9IGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGlzIGVudHJ5P2ApO1xuICAgICAgaWYgKGNsZWFyUHJvbXB0ICYmIHRoaXMucmVtb3ZlQ2hpbGRGdW5jICYmIHRoaXMuY3JlYXRlQ2hpbGROb2RlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGRGdW5jKGluZGV4LCB0aGlzKTtcblxuICAgICAgICBjb25zdCBnOiBHcm91cE5vZGUgPSB0aGlzLmNyZWF0ZUNoaWxkRnVuYyhcbiAgICAgICAgICB0aGlzLnF1ZXN0aW9uIGFzIFJlcGVhdGluZ1F1ZXN0aW9uLFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5mb3JtRmFjdG9yeSxcbiAgICAgICAgICBpbmRleFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICAgIHJldHVybiBnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZW1vdmVQcm9tcHQgPSBjb25maXJtKFxuICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/J1xuICAgICAgKTtcbiAgICAgIGlmIChyZW1vdmVQcm9tcHQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVtb3ZlQ2hpbGRGdW5jKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZEZ1bmMoaW5kZXgsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKGZ1bmM6IGFueSkge1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cy5wdXNoKGZ1bmMpO1xuICB9XG5cbiAgZmlyZUNoaWxkTm9kZUNyZWF0ZWRMaXN0ZW5lcihub2RlOiBHcm91cE5vZGUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZnVuYzogYW55ID0gdGhpcy5jaGlsZE5vZGVDcmVhdGVkRXZlbnRzW2ldO1xuICAgICAgZnVuYyhub2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -151,4 +151,4 @@ ValidationFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
151
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidationFactory, decorators: [{
|
|
152
152
|
type: Injectable
|
|
153
153
|
}], ctorParameters: function () { return []; } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvdmFsaWRhdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUd4RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLGdCQUFlLENBQUM7SUFFaEIsYUFBYSxDQUFDLFFBQXNC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TUFBTTtvQkFDUixLQUFLLHNCQUFzQjt3QkFDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDdEQsTUFBTTtvQkFDUixLQUFLLHNCQUFzQjt3QkFDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDdEQsTUFBTTtpQkFDVDthQUNGO1NBQ0Y7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzsrR0FwTVUsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IENvbmRpdGlvbmFsUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL2NvbmRpdGlvbmFsLXJlcXVpcmVkLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDb25kaXRpb25hbEFuc3dlcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9jb25kaXRpb25hbC1hbnN3ZXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3JlcXVpcmVkLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBEYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9kYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBNaW5WYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL21pbi52YWxpZGF0b3InO1xuaW1wb3J0IHsgTWF4VmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9tYXgudmFsaWRhdG9yJztcbmltcG9ydCB7IE1pbkRhdGVWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL21pbi1kYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBNYXhEYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9tYXgtZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgRnV0dXJlRGF0ZVJlc3RyaWN0aW9uVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9mdXR1cmUtZGF0ZS1yZXN0cmljdGlvbi52YWxpZGF0b3InO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9qcy1leHByZXNzaW9uLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvcXVlc3Rpb24tYmFzZSc7XG5pbXBvcnQgeyBNZXNzYWdlcyB9IGZyb20gJy4uL3V0aWxzL21lc3NhZ2VzJztcbmltcG9ydCB7IFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy92YWxpZGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IERhdGVWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvZGF0ZS12YWxpZGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE1heFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9tYXgtdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNaW5WYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbWluLXZhbGlkYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL2pzLWV4cHJlc3Npb24tdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb25kaXRpb25hbFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9jb25kaXRpb25hbC12YWxpZGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE1heExlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbWF4LWxlbmd0aC52YWxpZGF0b3InO1xuaW1wb3J0IHsgTWF4TGVuZ3RoVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL21heC1sZW5ndGgtdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNaW5MZW5ndGhWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbWluLWxlbmd0aC12YWxpZGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE1pbkxlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbWluLWxlbmd0aC52YWxpZGF0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0VmFsaWRhdG9ycyhxdWVzdGlvbjogUXVlc3Rpb25CYXNlLCBmb3JtPzogYW55KSB7XG4gICAgY29uc3QgbGlzdDogQXJyYXk8YW55PiA9IFtdO1xuXG4gICAgaWYgKHF1ZXN0aW9uLnZhbGlkYXRvcnMpIHtcbiAgICAgIF8uZm9yRWFjaChxdWVzdGlvbi52YWxpZGF0b3JzLCAodmFsaWRhdG9yOiBWYWxpZGF0aW9uTW9kZWwpID0+IHtcbiAgICAgICAgc3dpdGNoICh2YWxpZGF0b3IudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgbGlzdC5wdXNoKHRoaXMuZGF0ZVZhbGlkYXRvcik7XG4gICAgICAgICAgICBjb25zdCBhbGxvd0Z1dHVyZURhdGVzOiBib29sZWFuID0gKDxEYXRlVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvcilcbiAgICAgICAgICAgICAgLmFsbG93RnV0dXJlRGF0ZXM7XG5cbiAgICAgICAgICAgIGlmICghYWxsb3dGdXR1cmVEYXRlcykge1xuICAgICAgICAgICAgICBsaXN0LnB1c2godGhpcy5mdXR1cmVEYXRlUmVzdHJpY3Rpb25WYWxpZGF0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnanNfZXhwcmVzc2lvbic6XG4gICAgICAgICAgICBsaXN0LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuanNFeHByZXNzaW9uVmFsaWRhdG9yLnZhbGlkYXRlKFxuICAgICAgICAgICAgICAgIDxKc0V4cHJlc3Npb25WYWxpZGF0aW9uTW9kZWw+dmFsaWRhdG9yLFxuICAgICAgICAgICAgICAgIGZvcm1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21heCc6XG4gICAgICAgICAgICBsaXN0LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZ2V0TWF4VmFsdWVWYWxpZGF0b3IoKDxNYXhWYWxpZGF0aW9uTW9kZWw+dmFsaWRhdG9yKS5tYXgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWF4bGVuZ3RoJzpcbiAgICAgICAgICAgIGxpc3QucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5tYXhMZW5ndGhWYWxpZGF0b3IoKDxNYXhMZW5ndGhWYWxpZGF0aW9uTW9kZWw+dmFsaWRhdG9yKS5tYXhsZW5ndGgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWluJzpcbiAgICAgICAgICAgIGxpc3QucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5nZXRNaW5WYWx1ZVZhbGlkYXRvcigoPE1pblZhbGlkYXRpb25Nb2RlbD52YWxpZGF0b3IpLm1pbilcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaW5sZW5ndGgnOlxuICAgICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLm1pbkxlbmd0aFZhbGlkYXRvcigoPE1pbkxlbmd0aFZhbGlkYXRpb25Nb2RlbD52YWxpZGF0b3IpLm1pbmxlbmd0aClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdjb25kaXRpb25hbFJlcXVpcmVkJzpcbiAgICAgICAgICAgIGxpc3QucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbFJlcXVpcmVkVmFsaWRhdG9yLnZhbGlkYXRlKFxuICAgICAgICAgICAgICAgIDxDb25kaXRpb25hbFZhbGlkYXRpb25Nb2RlbD52YWxpZGF0b3JcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvbmRpdGlvbmFsQW5zd2VyZWQnOlxuICAgICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmNvbmRpdGlvbmFsQW5zd2VyZWRWYWxpZGF0b3IudmFsaWRhdGUoXG4gICAgICAgICAgICAgICAgPENvbmRpdGlvbmFsVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvclxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHF1ZXN0aW9uLnJlcXVpcmVkICYmXG4gICAgICB0eXBlb2YgcXVlc3Rpb24ucmVxdWlyZWQgPT09ICdzdHJpbmcnICYmXG4gICAgICBxdWVzdGlvbi5yZXF1aXJlZCA9PT0gJ3RydWUnXG4gICAgKSB7XG4gICAgICBsaXN0LnB1c2godGhpcy5yZXF1aXJlZFZhbGlkYXRvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRPRE8gLSBoYW5kbGUgY3VzdG9tIHJlcXVpcmVkIHZhbGlkYXRvclxuICAgIH1cblxuICAgIHJldHVybiBsaXN0O1xuICB9XG5cbiAgZ2V0IGNvbmRpdGlvbmFsUmVxdWlyZWRWYWxpZGF0b3IoKTogQ29uZGl0aW9uYWxSZXF1aXJlZFZhbGlkYXRvciB7XG4gICAgcmV0dXJuIG5ldyBDb25kaXRpb25hbFJlcXVpcmVkVmFsaWRhdG9yKCk7XG4gIH1cblxuICBnZXQgY29uZGl0aW9uYWxBbnN3ZXJlZFZhbGlkYXRvcigpOiBDb25kaXRpb25hbEFuc3dlcmVkVmFsaWRhdG9yIHtcbiAgICByZXR1cm4gbmV3IENvbmRpdGlvbmFsQW5zd2VyZWRWYWxpZGF0b3IoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZFZhbGlkYXRvcigpOiBhbnkge1xuICAgIHJldHVybiBuZXcgUmVxdWlyZWRWYWxpZGF0b3IoKS52YWxpZGF0ZTtcbiAgfVxuXG4gIGdldCBkYXRlVmFsaWRhdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlVmFsaWRhdG9yKCkudmFsaWRhdGU7XG4gIH1cblxuICBnZXQgZnV0dXJlRGF0ZVJlc3RyaWN0aW9uVmFsaWRhdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBGdXR1cmVEYXRlUmVzdHJpY3Rpb25WYWxpZGF0b3IoKS52YWxpZGF0ZTtcbiAgfVxuXG4gIGdldCBtYXhEYXRlVmFsaWRhdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBNYXhEYXRlVmFsaWRhdG9yKCkudmFsaWRhdGU7XG4gIH1cblxuICBnZXQgbWluRGF0ZVZhbGlkYXRvcigpOiBhbnkge1xuICAgIHJldHVybiBuZXcgTWluRGF0ZVZhbGlkYXRvcigpLnZhbGlkYXRlO1xuICB9XG5cbiAgcHVibGljIG1pbkxlbmd0aFZhbGlkYXRvcihtaW5MZW5ndGg6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgTWluTGVuZ3RoVmFsaWRhdG9yKCkudmFsaWRhdGUobWluTGVuZ3RoKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXhMZW5ndGhWYWxpZGF0b3IobWF4TGVuZ3RoOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IE1heExlbmd0aFZhbGlkYXRvcigpLnZhbGlkYXRlKG1heExlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWluVmFsdWVWYWxpZGF0b3IobWluOiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiBuZXcgTWluVmFsaWRhdG9yKCkudmFsaWRhdGUobWluKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNYXhWYWx1ZVZhbGlkYXRvcihtYXg6IG51bWJlcik6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBNYXhWYWxpZGF0b3IoKS52YWxpZGF0ZShtYXgpO1xuICB9XG5cbiAgZ2V0IGpzRXhwcmVzc2lvblZhbGlkYXRvcigpIHtcbiAgICByZXR1cm4gbmV3IEpzRXhwcmVzc2lvblZhbGlkYXRvcigpO1xuICB9XG5cbiAgcHVibGljIGVycm9ycyhlcnJvcnM6IGFueSwgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSk6IEFycmF5PHN0cmluZz4ge1xuICAgIGNvbnN0IG1lc3NhZ2VzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGVycm9ycykge1xuICAgICAgaWYgKGVycm9ycy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goTWVzc2FnZXMuUkVRVUlSRURfRklFTERfTVNHKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChNZXNzYWdlcy5JTlZBTElEX0RBVEVfTVNHKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2Z1dHVyZURhdGVSZXN0cmljdGlvbic6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKE1lc3NhZ2VzLkZVVFVSRV9EQVRFX1JFU1RSSUNUSU9OX01TRyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaW5sZW5ndGgnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUlOX0xFTkdUSF9NU0cucmVwbGFjZShcbiAgICAgICAgICAgICAgICAne21pbkxlbmd0aH0nLFxuICAgICAgICAgICAgICAgIGVycm9ycy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGhcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgICBNZXNzYWdlcy5NQVhfTEVOR1RIX01TRy5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICd7bWF4TGVuZ3RofScsXG4gICAgICAgICAgICAgICAgZXJyb3JzLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWF4ZGF0ZSc6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgICBNZXNzYWdlcy5NQVhfREFURV9NU0cucmVwbGFjZShcbiAgICAgICAgICAgICAgICAne21heERhdGV9JyxcbiAgICAgICAgICAgICAgICBlcnJvcnMubWF4ZGF0ZS5yZXF1aXJlZERhdGVcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21pbmRhdGUnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUlOX0RBVEVfTVNHLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgJ3ttaW5EYXRlfScsXG4gICAgICAgICAgICAgICAgZXJyb3JzLm1pbmRhdGUucmVxdWlyZWREYXRlXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtYXgnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUFYX01TRy5yZXBsYWNlKCd7bWF4fScsIGVycm9ycy5tYXgucmVxdWlyZWRWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaW4nOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUlOX01TRy5yZXBsYWNlKCd7bWlufScsIGVycm9ycy5taW4ucmVxdWlyZWRWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdqc19leHByZXNzaW9uJzpcbiAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goZXJyb3JzWydqc19leHByZXNzaW9uJ10ubWVzc2FnZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdjb25kaXRpb25hbF9yZXF1aXJlZCc6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGVycm9yc1snY29uZGl0aW9uYWxfcmVxdWlyZWQnXS5tZXNzYWdlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvbmRpdGlvbmFsX2Fuc3dlcmVkJzpcbiAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goZXJyb3JzWydjb25kaXRpb25hbF9hbnN3ZXJlZCddLm1lc3NhZ2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZXM7XG4gIH1cbn1cbiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvdmFsaWRhdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUd4RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLGdCQUFlLENBQUM7SUFFaEIsYUFBYSxDQUFDLFFBQXNC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QU07b0JBQ1IsS0FBSyxzQkFBc0I7d0JBQ3pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3RELE1BQU07b0JBQ1IsS0FBSyxzQkFBc0I7d0JBQ3pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3RELE1BQU07aUJBQ1Q7YUFDRjtTQUNGO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7K0dBeE1VLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDb25kaXRpb25hbFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9jb25kaXRpb25hbC1yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxBbnN3ZXJlZFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvY29uZGl0aW9uYWwtYW5zd2VyZWQudmFsaWRhdG9yJztcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgTWluVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9taW4udmFsaWRhdG9yJztcbmltcG9ydCB7IE1heFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbWF4LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBNaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9taW4tZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgTWF4RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbWF4LWRhdGUudmFsaWRhdG9yJztcbmltcG9ydCB7IEZ1dHVyZURhdGVSZXN0cmljdGlvblZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvZnV0dXJlLWRhdGUtcmVzdHJpY3Rpb24udmFsaWRhdG9yJztcbmltcG9ydCB7IEpzRXhwcmVzc2lvblZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvanMtZXhwcmVzc2lvbi52YWxpZGF0b3InO1xuaW1wb3J0IHsgUXVlc3Rpb25CYXNlIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgTWVzc2FnZXMgfSBmcm9tICcuLi91dGlscy9tZXNzYWdlcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBEYXRlVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL2RhdGUtdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNYXhWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbWF4LXZhbGlkYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgTWluVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL21pbi12YWxpZGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IEpzRXhwcmVzc2lvblZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9qcy1leHByZXNzaW9uLXZhbGlkYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvY29uZGl0aW9uYWwtdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNYXhMZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL21heC1sZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IE1heExlbmd0aFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9tYXgtbGVuZ3RoLXZhbGlkYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgTWluTGVuZ3RoVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL21pbi1sZW5ndGgtdmFsaWRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL21pbi1sZW5ndGgudmFsaWRhdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25GYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGdldFZhbGlkYXRvcnMocXVlc3Rpb246IFF1ZXN0aW9uQmFzZSwgZm9ybT86IGFueSkge1xuICAgIGNvbnN0IGxpc3Q6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIGlmIChxdWVzdGlvbi52YWxpZGF0b3JzKSB7XG4gICAgICBfLmZvckVhY2gocXVlc3Rpb24udmFsaWRhdG9ycywgKHZhbGlkYXRvcjogVmFsaWRhdGlvbk1vZGVsKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodmFsaWRhdG9yLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgIGxpc3QucHVzaCh0aGlzLmRhdGVWYWxpZGF0b3IpO1xuICAgICAgICAgICAgY29uc3QgYWxsb3dGdXR1cmVEYXRlczogYm9vbGVhbiA9ICg8RGF0ZVZhbGlkYXRpb25Nb2RlbD52YWxpZGF0b3IpXG4gICAgICAgICAgICAgIC5hbGxvd0Z1dHVyZURhdGVzO1xuXG4gICAgICAgICAgICBpZiAoIWFsbG93RnV0dXJlRGF0ZXMpIHtcbiAgICAgICAgICAgICAgbGlzdC5wdXNoKHRoaXMuZnV0dXJlRGF0ZVJlc3RyaWN0aW9uVmFsaWRhdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2pzX2V4cHJlc3Npb24nOlxuICAgICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmpzRXhwcmVzc2lvblZhbGlkYXRvci52YWxpZGF0ZShcbiAgICAgICAgICAgICAgICA8SnNFeHByZXNzaW9uVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvcixcbiAgICAgICAgICAgICAgICBmb3JtXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtYXgnOlxuICAgICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmdldE1heFZhbHVlVmFsaWRhdG9yKCg8TWF4VmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvcikubWF4KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgICAgICBsaXN0LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMubWF4TGVuZ3RoVmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICg8TWF4TGVuZ3RoVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvcikubWF4bGVuZ3RoXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaW4nOlxuICAgICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmdldE1pblZhbHVlVmFsaWRhdG9yKCg8TWluVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvcikubWluKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21pbmxlbmd0aCc6XG4gICAgICAgICAgICBsaXN0LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMubWluTGVuZ3RoVmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICg8TWluTGVuZ3RoVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvcikubWlubGVuZ3RoXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdjb25kaXRpb25hbFJlcXVpcmVkJzpcbiAgICAgICAgICAgIGxpc3QucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbFJlcXVpcmVkVmFsaWRhdG9yLnZhbGlkYXRlKFxuICAgICAgICAgICAgICAgIDxDb25kaXRpb25hbFZhbGlkYXRpb25Nb2RlbD52YWxpZGF0b3JcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvbmRpdGlvbmFsQW5zd2VyZWQnOlxuICAgICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmNvbmRpdGlvbmFsQW5zd2VyZWRWYWxpZGF0b3IudmFsaWRhdGUoXG4gICAgICAgICAgICAgICAgPENvbmRpdGlvbmFsVmFsaWRhdGlvbk1vZGVsPnZhbGlkYXRvclxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHF1ZXN0aW9uLnJlcXVpcmVkICYmXG4gICAgICB0eXBlb2YgcXVlc3Rpb24ucmVxdWlyZWQgPT09ICdzdHJpbmcnICYmXG4gICAgICBxdWVzdGlvbi5yZXF1aXJlZCA9PT0gJ3RydWUnXG4gICAgKSB7XG4gICAgICBsaXN0LnB1c2godGhpcy5yZXF1aXJlZFZhbGlkYXRvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRPRE8gLSBoYW5kbGUgY3VzdG9tIHJlcXVpcmVkIHZhbGlkYXRvclxuICAgIH1cblxuICAgIHJldHVybiBsaXN0O1xuICB9XG5cbiAgZ2V0IGNvbmRpdGlvbmFsUmVxdWlyZWRWYWxpZGF0b3IoKTogQ29uZGl0aW9uYWxSZXF1aXJlZFZhbGlkYXRvciB7XG4gICAgcmV0dXJuIG5ldyBDb25kaXRpb25hbFJlcXVpcmVkVmFsaWRhdG9yKCk7XG4gIH1cblxuICBnZXQgY29uZGl0aW9uYWxBbnN3ZXJlZFZhbGlkYXRvcigpOiBDb25kaXRpb25hbEFuc3dlcmVkVmFsaWRhdG9yIHtcbiAgICByZXR1cm4gbmV3IENvbmRpdGlvbmFsQW5zd2VyZWRWYWxpZGF0b3IoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZFZhbGlkYXRvcigpOiBhbnkge1xuICAgIHJldHVybiBuZXcgUmVxdWlyZWRWYWxpZGF0b3IoKS52YWxpZGF0ZTtcbiAgfVxuXG4gIGdldCBkYXRlVmFsaWRhdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlVmFsaWRhdG9yKCkudmFsaWRhdGU7XG4gIH1cblxuICBnZXQgZnV0dXJlRGF0ZVJlc3RyaWN0aW9uVmFsaWRhdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBGdXR1cmVEYXRlUmVzdHJpY3Rpb25WYWxpZGF0b3IoKS52YWxpZGF0ZTtcbiAgfVxuXG4gIGdldCBtYXhEYXRlVmFsaWRhdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBNYXhEYXRlVmFsaWRhdG9yKCkudmFsaWRhdGU7XG4gIH1cblxuICBnZXQgbWluRGF0ZVZhbGlkYXRvcigpOiBhbnkge1xuICAgIHJldHVybiBuZXcgTWluRGF0ZVZhbGlkYXRvcigpLnZhbGlkYXRlO1xuICB9XG5cbiAgcHVibGljIG1pbkxlbmd0aFZhbGlkYXRvcihtaW5MZW5ndGg6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgTWluTGVuZ3RoVmFsaWRhdG9yKCkudmFsaWRhdGUobWluTGVuZ3RoKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXhMZW5ndGhWYWxpZGF0b3IobWF4TGVuZ3RoOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IE1heExlbmd0aFZhbGlkYXRvcigpLnZhbGlkYXRlKG1heExlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWluVmFsdWVWYWxpZGF0b3IobWluOiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiBuZXcgTWluVmFsaWRhdG9yKCkudmFsaWRhdGUobWluKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNYXhWYWx1ZVZhbGlkYXRvcihtYXg6IG51bWJlcik6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBNYXhWYWxpZGF0b3IoKS52YWxpZGF0ZShtYXgpO1xuICB9XG5cbiAgZ2V0IGpzRXhwcmVzc2lvblZhbGlkYXRvcigpIHtcbiAgICByZXR1cm4gbmV3IEpzRXhwcmVzc2lvblZhbGlkYXRvcigpO1xuICB9XG5cbiAgcHVibGljIGVycm9ycyhlcnJvcnM6IGFueSwgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSk6IEFycmF5PHN0cmluZz4ge1xuICAgIGNvbnN0IG1lc3NhZ2VzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGVycm9ycykge1xuICAgICAgaWYgKGVycm9ycy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goTWVzc2FnZXMuUkVRVUlSRURfRklFTERfTVNHKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChNZXNzYWdlcy5JTlZBTElEX0RBVEVfTVNHKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2Z1dHVyZURhdGVSZXN0cmljdGlvbic6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKE1lc3NhZ2VzLkZVVFVSRV9EQVRFX1JFU1RSSUNUSU9OX01TRyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaW5sZW5ndGgnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUlOX0xFTkdUSF9NU0cucmVwbGFjZShcbiAgICAgICAgICAgICAgICAne21pbkxlbmd0aH0nLFxuICAgICAgICAgICAgICAgIGVycm9ycy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGhcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgICBNZXNzYWdlcy5NQVhfTEVOR1RIX01TRy5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICd7bWF4TGVuZ3RofScsXG4gICAgICAgICAgICAgICAgZXJyb3JzLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWF4ZGF0ZSc6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgICBNZXNzYWdlcy5NQVhfREFURV9NU0cucmVwbGFjZShcbiAgICAgICAgICAgICAgICAne21heERhdGV9JyxcbiAgICAgICAgICAgICAgICBlcnJvcnMubWF4ZGF0ZS5yZXF1aXJlZERhdGVcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21pbmRhdGUnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUlOX0RBVEVfTVNHLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgJ3ttaW5EYXRlfScsXG4gICAgICAgICAgICAgICAgZXJyb3JzLm1pbmRhdGUucmVxdWlyZWREYXRlXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtYXgnOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUFYX01TRy5yZXBsYWNlKCd7bWF4fScsIGVycm9ycy5tYXgucmVxdWlyZWRWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaW4nOlxuICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgTWVzc2FnZXMuTUlOX01TRy5yZXBsYWNlKCd7bWlufScsIGVycm9ycy5taW4ucmVxdWlyZWRWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdqc19leHByZXNzaW9uJzpcbiAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goZXJyb3JzWydqc19leHByZXNzaW9uJ10ubWVzc2FnZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdjb25kaXRpb25hbF9yZXF1aXJlZCc6XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGVycm9yc1snY29uZGl0aW9uYWxfcmVxdWlyZWQnXS5tZXNzYWdlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvbmRpdGlvbmFsX2Fuc3dlcmVkJzpcbiAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goZXJyb3JzWydjb25kaXRpb25hbF9hbnN3ZXJlZCddLm1lc3NhZ2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -39,4 +39,4 @@ HistoricalHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HistoricalHelperService, decorators: [{
|
|
40
40
|
type: Injectable
|
|
41
41
|
}], ctorParameters: function () { return []; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1leHByZXNzaW9uLWhlbHBlci1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9oZWxwZXJzL2hpc3RvcmljYWwtZXhwcmVzc2lvbi1oZWxwZXItc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFFTCxnQkFBZ0IsRUFDakIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBR3BGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsZ0JBQWUsQ0FBQztJQUVULFFBQVEsQ0FDYixJQUFZLEVBQ1osV0FBb0MsRUFDcEMscUJBQXFEO1FBRXJELE1BQU0sRUFBRSxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNoRCxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM1QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUVwQixJQUFJLHFCQUFxQixFQUFFO1lBQ3pCLEtBQUssTUFBTSxDQUFDLElBQUkscUJBQXFCLEVBQUU7Z0JBQ3JDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO29CQUNsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNqQjthQUNGO1NBQ0Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsTUFBTSxPQUFPLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDckQsTUFBTSxNQUFNLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBYSxNQUFNLENBQUMsV0FBVyxDQUMzQyxJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLElBQUksQ0FDTCxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLG9CQUFvQixDQUN6QixJQUFZLEVBQ1osV0FBZ0IsRUFDaEIsZUFBb0I7UUFFcEIsTUFBTSxlQUFlLEdBQUc7WUFDdEIsU0FBUyxFQUFFLGVBQWU7U0FDM0IsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzNELENBQUM7O3FIQWhEVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBIaXN0b3JpY2FsRW5jb3VudGVyRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9oaXN0b3JpY2FsLWVuY291bnRlci1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uSGVscGVyIH0gZnJvbSAnLi9qcy1leHByZXNzaW9uLWhlbHBlcic7XG5pbXBvcnQge1xuICBSdW5uYWJsZSxcbiAgRXhwcmVzc2lvblJ1bm5lclxufSBmcm9tICcuLi9leHByZXNzaW9uLXJ1bm5lci9leHByZXNzaW9uLXJ1bm5lcic7XG5pbXBvcnQgeyBBZmVGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1jb250cm9sJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxIZWxwZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBldmFsdWF0ZShcbiAgICBleHByOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1leHByZXNzaW9uLWhlbHBlci1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9oZWxwZXJzL2hpc3RvcmljYWwtZXhwcmVzc2lvbi1oZWxwZXItc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFFTCxnQkFBZ0IsRUFDakIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBR3BGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsZ0JBQWUsQ0FBQztJQUVULFFBQVEsQ0FDYixJQUFZLEVBQ1osV0FBb0MsRUFDcEMscUJBQXFEO1FBRXJELE1BQU0sRUFBRSxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNoRCxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM1QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUVwQixJQUFJLHFCQUFxQixFQUFFO1lBQ3pCLEtBQUssTUFBTSxDQUFDLElBQUkscUJBQXFCLEVBQUU7Z0JBQ3JDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO29CQUNsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNqQjthQUNGO1NBQ0Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsTUFBTSxPQUFPLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDckQsTUFBTSxNQUFNLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBYSxNQUFNLENBQUMsV0FBVyxDQUMzQyxJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLElBQUksQ0FDTCxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLG9CQUFvQixDQUN6QixJQUFZLEVBQ1osV0FBZ0IsRUFDaEIsZUFBb0I7UUFFcEIsTUFBTSxlQUFlLEdBQUc7WUFDdEIsU0FBUyxFQUFFLGVBQWU7U0FDM0IsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzNELENBQUM7O3FIQWhEVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBIaXN0b3JpY2FsRW5jb3VudGVyRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9oaXN0b3JpY2FsLWVuY291bnRlci1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uSGVscGVyIH0gZnJvbSAnLi9qcy1leHByZXNzaW9uLWhlbHBlcic7XG5pbXBvcnQge1xuICBSdW5uYWJsZSxcbiAgRXhwcmVzc2lvblJ1bm5lclxufSBmcm9tICcuLi9leHByZXNzaW9uLXJ1bm5lci9leHByZXNzaW9uLXJ1bm5lcic7XG5pbXBvcnQgeyBBZmVGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1jb250cm9sJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxIZWxwZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBldmFsdWF0ZShcbiAgICBleHByOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGFkZGl0aW9uYWxTY29wZVZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsXG4gICkge1xuICAgIGNvbnN0IEhEID0gbmV3IEhpc3RvcmljYWxFbmNvdW50ZXJEYXRhU2VydmljZSgpO1xuICAgIEhELnJlZ2lzdGVyRW5jb3VudGVycygncHJldkVuYycsIGRhdGFTb3VyY2VzWydyYXdQcmV2RW5jJ10pO1xuICAgIGlmIChkYXRhU291cmNlcy5oYXNPd25Qcm9wZXJ0eSgncmF3UHJldk9icycpKSB7XG4gICAgICBIRC5yZWdpc3RlckVuY291bnRlcnMoJ3ByZXZPYnMnLCBkYXRhU291cmNlc1sncmF3UHJldk9icyddKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBzID0geyBIRCB9O1xuXG4gICAgaWYgKGFkZGl0aW9uYWxTY29wZVZhbHVlcykge1xuICAgICAgZm9yIChjb25zdCBvIGluIGFkZGl0aW9uYWxTY29wZVZhbHVlcykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFkZGl0aW9uYWxTY29wZVZhbHVlc1tvXTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBkZXBzW29dID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBoZWxwZXIgPSBuZXcgSnNFeHByZXNzaW9uSGVscGVyKCk7XG4gICAgY29uc3QgY29udHJvbDogQWZlRm9ybUNvbnRyb2wgPSBuZXcgQWZlRm9ybUNvbnRyb2woKTtcbiAgICBjb25zdCBydW5uZXI6IEV4cHJlc3Npb25SdW5uZXIgPSBuZXcgRXhwcmVzc2lvblJ1bm5lcigpO1xuICAgIGNvbnN0IHJ1bm5hYmxlOiBSdW5uYWJsZSA9IHJ1bm5lci5nZXRSdW5uYWJsZShcbiAgICAgIGV4cHIsXG4gICAgICBjb250cm9sLFxuICAgICAgaGVscGVyLmhlbHBlckZ1bmN0aW9ucyxcbiAgICAgIGRlcHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHJ1bm5hYmxlLnJ1bigpO1xuICB9XG5cbiAgcHVibGljIGV2YWx1YXRlUHJlY29uZGl0aW9uKFxuICAgIGV4cHI6IHN0cmluZyxcbiAgICBkYXRhU291cmNlczogYW55LFxuICAgIGhpc3RvcmljYWxWYWx1ZTogYW55XG4gICk6IGFueSB7XG4gICAgY29uc3QgYWRkaXRpb25hbFNjb3BlID0ge1xuICAgICAgaGlzdFZhbHVlOiBoaXN0b3JpY2FsVmFsdWVcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXZhbHVhdGUoZXhwciwgZGF0YVNvdXJjZXMsIGFkZGl0aW9uYWxTY29wZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -154,7 +154,11 @@ export class JsExpressionHelper {
|
|
|
154
154
|
return height && weight && refSectionObject ? formattedSDValue : null;
|
|
155
155
|
}
|
|
156
156
|
calcSouthEastAsiaNonLabCVDRisk(sex, smoker, age, sbp, bmi) {
|
|
157
|
-
const hasValidValues =
|
|
157
|
+
const hasValidValues = typeof sex === 'string' &&
|
|
158
|
+
typeof smoker === 'boolean' &&
|
|
159
|
+
typeof age === 'number' &&
|
|
160
|
+
typeof sbp === 'number' &&
|
|
161
|
+
typeof bmi === 'number';
|
|
158
162
|
if (!hasValidValues) {
|
|
159
163
|
return null;
|
|
160
164
|
}
|
|
@@ -249,11 +253,21 @@ export class JsExpressionHelper {
|
|
|
249
253
|
var _a;
|
|
250
254
|
const findObs = (obs, uuid) => {
|
|
251
255
|
let result;
|
|
252
|
-
obs === null || obs === void 0 ? void 0 : obs.some(o => {
|
|
256
|
+
obs === null || obs === void 0 ? void 0 : obs.some((o) => {
|
|
257
|
+
var _a;
|
|
258
|
+
return (result =
|
|
259
|
+
((_a = o === null || o === void 0 ? void 0 : o.concept) === null || _a === void 0 ? void 0 : _a.uuid) === uuid ? o : findObs(o.groupMembers || [], uuid));
|
|
260
|
+
});
|
|
253
261
|
return result;
|
|
254
262
|
};
|
|
255
263
|
const obsValue = (_a = findObs(rawEncounter === null || rawEncounter === void 0 ? void 0 : rawEncounter.obs, uuid)) === null || _a === void 0 ? void 0 : _a.value;
|
|
256
|
-
return !!targetControl
|
|
264
|
+
return !!targetControl
|
|
265
|
+
? targetControl
|
|
266
|
+
: typeof obsValue === 'object'
|
|
267
|
+
? obsValue.uuid
|
|
268
|
+
: !!obsValue
|
|
269
|
+
? obsValue
|
|
270
|
+
: null;
|
|
257
271
|
}
|
|
258
272
|
doesNotMatchExpression(regexString, val) {
|
|
259
273
|
if (!val || ['undefined', 'null', ''].includes(val.toString())) {
|
|
@@ -301,4 +315,4 @@ JsExpressionHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
|
|
|
301
315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: JsExpressionHelper, decorators: [{
|
|
302
316
|
type: Injectable
|
|
303
317
|
}] });
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMtZXhwcmVzc2lvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2hlbHBlcnMvanMtZXhwcmVzc2lvbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU07UUFDcEIsSUFBSSxDQUFDLENBQUM7UUFDTixJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUU7WUFDcEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RDtRQUNELE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUNwQyxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTtZQUNwQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU07UUFDOUMsSUFBSSxHQUFHLENBQUM7UUFDUixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFO1lBQ3BCLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyQixJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7aUJBQ2xELEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsR0FBRyxZQUFZLEVBQUU7Z0JBQ3RCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNuQyxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUU7d0JBQ2hCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDL0I7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hELE9BQU8sQ0FBQyxLQUFLLGtCQUFrQixDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNwRCxnQkFBZ0IsR0FBRyxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7YUFDM0M7WUFFRCxJQUNFLGdCQUFnQixLQUFLLEdBQUc7Z0JBQ3hCLGdCQUFnQixLQUFLLEdBQUc7Z0JBQ3hCLGdCQUFnQixLQUFLLEdBQUc7Z0JBQ3hCLGdCQUFnQixLQUFLLElBQUksRUFDekI7Z0JBQ0EsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBQ0QseUJBQXlCLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU07UUFDMUQsSUFBSSxVQUFVLENBQUM7UUFDZixJQUFJLGdCQUFnQixDQUFDO1FBQ3JCLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTtZQUNwQixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4QztRQUNELE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO1FBQzlCLElBQUksTUFBTSxHQUFHLGlCQUFpQixJQUFJLE1BQU0sR0FBRyxpQkFBaUIsRUFBRTtZQUM1RCxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDdEQsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDbEQsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDcEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1lBQzdCLElBQUksTUFBTSxHQUFHLFlBQVksRUFBRTtnQkFDekIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ25DLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTt3QkFDbkIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDckQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLEtBQUssa0JBQWtCLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELGdCQUFnQixHQUFHLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQzthQUMzQztZQUNELElBQ0UsZ0JBQWdCLEtBQUssR0FBRztnQkFDeEIsZ0JBQWdCLEtBQUssR0FBRztnQkFDeEIsZ0JBQWdCLEtBQUssR0FBRztnQkFDeEIsZ0JBQWdCLEtBQUssSUFBSSxFQUN6QjtnQkFDQSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDekI7U0FDRjtRQUVELE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNO1FBQ3BELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLGdCQUFnQixDQUFDO1FBQ3JCLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDbEQsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDcEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1lBQzdCLElBQUksTUFBTSxHQUFHLFlBQVksRUFBRTtnQkFDekIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ25DLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTt3QkFDbkIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDckQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLEtBQUssa0JBQWtCLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELGdCQUFnQixHQUFHLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQzthQUMzQztZQUVELElBQ0UsZ0JBQWdCLEtBQUssR0FBRztnQkFDeEIsZ0JBQWdCLEtBQUssR0FBRztnQkFDeEIsZ0JBQWdCLEtBQUssR0FBRztnQkFDeEIsZ0JBQWdCLEtBQUssSUFBSSxFQUN6QjtnQkFDQSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDekI7U0FDRjtRQUVELE9BQU8sTUFBTSxJQUFJLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxDQUFDO0lBSUQsOEJBQThCLENBQUMsR0FBYyxFQUFFLE1BQWdCLEVBQUUsR0FBWSxFQUFFLEdBQVksRUFBRSxHQUFZO1FBQ3ZHLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFNBQVMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBRWpLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELGdCQUFnQjtRQUNoQixNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4RixNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXJGLFlBQVk7UUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbEMsT0FBTywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUc7UUFDVCxJQUNFLEdBQUcsS0FBSyxTQUFTO1lBQ2pCLEdBQUcsS0FBSyxJQUFJO1lBQ1osR0FBRyxLQUFLLEVBQUU7WUFDVixHQUFHLEtBQUssTUFBTTtZQUNkLEdBQUcsS0FBSyxXQUFXLEVBQ25CO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRXBCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDN0IsUUFBUSxHQUFHLEtBQUssQ0FBQztpQkFDbEI7YUFDRjtZQUVELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBRyxFQUFFLEtBQUs7UUFDcEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUk7WUFDckMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTTtRQUM5QixNQUFNLEdBQUcsTUFBTSxJQUFJLFlBQVksQ0FBQztRQUNoQyxNQUFNLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQztRQUUzQixJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksSUFBSSxDQUFDLEVBQUU7WUFDNUIsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLG9DQUFvQyxHQUFHLHFCQUFxQixDQUM3RCxDQUFDO2FBQ0g7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsc0JBQXNCO1FBQ3BDLGlEQUFpRDtJQUNuRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDN0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFFckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUM3QixRQUFRLEdBQUcsSUFBSSxDQUFDO2lCQUNqQjthQUNGO1lBQ0QsT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsNEJBQTRCLENBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxJQUFJOztRQUMxRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQztZQUNYLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBQyxPQUFBLE1BQU0sR0FBRyxDQUFBLE1BQUEsQ0FBQyxhQUFELENBQUMsdUJBQUQsQ0FBQyxDQUFFLE9BQU8sMENBQUUsSUFBSSxNQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7WUFDN0YsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFBO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBQSxPQUFPLENBQUMsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsMENBQUUsS0FBSyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ3RILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxXQUFtQixFQUFFLEdBQThCO1FBQ3hFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtZQUM5RCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFVLEVBQUUsY0FBYztRQUNwQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFaEIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDcEUsT0FBTyxHQUFHLFVBQVUsR0FBRyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTztZQUNMLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxtQkFBbUI7WUFDL0MseUJBQXlCLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtZQUMzRCxzQkFBc0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCO1lBQ3JELDhCQUE4QixFQUFFLE1BQU0sQ0FBQyw4QkFBOEI7WUFDckUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtZQUNuQywyQkFBMkIsRUFBRSxNQUFNLENBQUMsMkJBQTJCO1lBQy9ELDRCQUE0QixFQUFFLE1BQU0sQ0FBQyw0QkFBNEI7WUFDakUsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtZQUNyRCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7U0FDaEMsQ0FBQztJQUNKLENBQUM7O2dIQXhVVSxrQkFBa0I7b0hBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc291dGhFYXN0QXNpYUN2ZFJpc2tUYWJsZXMgfSBmcm9tICcuL3Jpc2stZGF0YXNldC10YWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKc0V4cHJlc3Npb25IZWxwZXIge1xuICBjYWxjQk1JKGhlaWdodCwgd2VpZ2h0KSB7XG4gICAgbGV0IHI7XG4gICAgaWYgKGhlaWdodCAmJiB3ZWlnaHQpIHtcbiAgICAgIHIgPSAod2VpZ2h0IC8gKCgoaGVpZ2h0IC8gMTAwKSAqIGhlaWdodCkgLyAxMDApKS50b0ZpeGVkKDEpO1xuICAgIH1cbiAgICByZXR1cm4gaGVpZ2h0ICYmIHdlaWdodCA/IHBhcnNlRmxvYXQocikgOiBudWxsO1xuICB9XG5cbiAgY2FsY0JTQShoZWlnaHQ6IG51bWJlciwgd2VpZ2h0OiBudW1iZXIpIHtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGlmIChoZWlnaHQgJiYgd2VpZ2h0KSB7XG4gICAgICByZXN1bHQgPSBNYXRoLnNxcnQoKGhlaWdodCAqIHdlaWdodCkgLyAzNjAwKS50b0ZpeGVkKDIpO1xuICAgIH1cbiAgICByZXR1cm4gaGVpZ2h0ICYmIHdlaWdodCA/IHBhcnNlRmxvYXQocmVzdWx0KSA6IG51bGw7XG4gIH1cblxuICBjYWxjQk1JRm9yQWdlWnNjb3JlKGJtaUZvckFnZVJlZiwgaGVpZ2h0LCB3ZWlnaHQpIHtcbiAgICBsZXQgYm1pO1xuICAgIGNvbnN0IG1heEFnZUluRGF5cyA9IDE4NTY7XG4gICAgaWYgKGhlaWdodCAmJiB3ZWlnaHQpIHtcbiAgICAgIGJtaSA9ICh3ZWlnaHQgLyAoKChoZWlnaHQgLyAxMDApICogaGVpZ2h0KSAvIDEwMCkpLnRvRml4ZWQoMSk7XG4gICAgfVxuICAgIGNvbnN0IHJlZlNlY3Rpb25PYmplY3QgPSBfLmZpcnN0KGJtaUZvckFnZVJlZik7XG4gICAgbGV0IGZvcm1hdHRlZFNEVmFsdWU7XG4gICAgaWYgKHJlZlNlY3Rpb25PYmplY3QpIHtcbiAgICAgIGNvbnN0IHJlZk9iamVjdFZhbHVlcyA9IE9iamVjdC5rZXlzKHJlZlNlY3Rpb25PYmplY3QpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gcmVmU2VjdGlvbk9iamVjdFtrZXldKVxuICAgICAgICAubWFwKCh4KSA9PiB4KTtcbiAgICAgIGNvbnN0IHJlZk9iamVjdEtleXMgPSBPYmplY3Qua2V5cyhyZWZTZWN0aW9uT2JqZWN0KTtcbiAgICAgIGNvbnN0IG1pbmltdW1WYWx1ZSA9IHJlZk9iamVjdFZhbHVlc1sxXTtcbiAgICAgIGNvbnN0IG1pblJlZmVyZW5jZVBvaW50ID0gW107XG4gICAgICBpZiAoYm1pIDwgbWluaW11bVZhbHVlKSB7XG4gICAgICAgIG1pblJlZmVyZW5jZVBvaW50LnB1c2gobWluaW11bVZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF8uZm9yRWFjaChyZWZPYmplY3RWYWx1ZXMsICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSA8PSBibWkpIHtcbiAgICAgICAgICAgIG1pblJlZmVyZW5jZVBvaW50LnB1c2godmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zdCBsYXN0UmVmZXJlbmNlVmFsdWUgPSBfLmxhc3QobWluUmVmZXJlbmNlUG9pbnQpO1xuICAgICAgY29uc3QgbGFzdFZhbHVlSW5kZXggPSBfLmZpbmRJbmRleChyZWZPYmplY3RWYWx1ZXMsIChvKSA9PiB7XG4gICAgICAgIHJldHVybiBvID09PSBsYXN0UmVmZXJlbmNlVmFsdWU7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IFNEVmFsdWUgPSByZWZPYmplY3RLZXlzW2xhc3RWYWx1ZUluZGV4XTtcbiAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSBTRFZhbHVlLnJlcGxhY2UoJ1NEJywgJycpO1xuICAgICAgaWYgKGZvcm1hdHRlZFNEVmFsdWUuaW5jbHVkZXMoJ25lZycpKSB7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSBmb3JtYXR0ZWRTRFZhbHVlLnN1YnN0cmluZygxLCAwKTtcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9ICctJyArIGZvcm1hdHRlZFNEVmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJ1MnIHx8XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICdMJyB8fFxuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID09PSAnTScgfHxcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJy01J1xuICAgICAgKSB7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAnLTQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBibWkgJiYgcmVmU2VjdGlvbk9iamVjdCA/IGZvcm1hdHRlZFNEVmFsdWUgOiBudWxsO1xuICB9XG4gIGNhbGNXZWlnaHRGb3JIZWlnaHRac2NvcmUod2VpZ2h0Rm9ySGVpZ2h0UmVmLCBoZWlnaHQsIHdlaWdodCkge1xuICAgIGxldCByZWZTZWN0aW9uO1xuICAgIGxldCBmb3JtYXR0ZWRTRFZhbHVlO1xuICAgIGlmIChoZWlnaHQgJiYgd2VpZ2h0KSB7XG4gICAgICBoZWlnaHQgPSBwYXJzZUZsb2F0KGhlaWdodCkudG9GaXhlZCgxKTtcbiAgICB9XG4gICAgY29uc3Qgc3RhbmRhcmRIZWlnaHRNaW4gPSA0NTtcbiAgICBjb25zdCBzdGFuZGFyZE1heEhlaWdodCA9IDExMDtcbiAgICBpZiAoaGVpZ2h0IDwgc3RhbmRhcmRIZWlnaHRNaW4gfHwgaGVpZ2h0ID4gc3RhbmRhcmRNYXhIZWlnaHQpIHtcbiAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAtNDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVmU2VjdGlvbiA9IF8uZmlsdGVyKHdlaWdodEZvckhlaWdodFJlZiwgKHJlZk9iamVjdCkgPT4ge1xuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChyZWZPYmplY3RbJ0xlbmd0aCddKS50b0ZpeGVkKDEpID09PSBoZWlnaHQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCByZWZTZWN0aW9uT2JqZWN0ID0gXy5maXJzdChyZWZTZWN0aW9uKTtcbiAgICBpZiAocmVmU2VjdGlvbk9iamVjdCkge1xuICAgICAgY29uc3QgcmVmT2JqZWN0VmFsdWVzID0gT2JqZWN0LmtleXMocmVmU2VjdGlvbk9iamVjdClcbiAgICAgICAgLm1hcCgoa2V5KSA9PiByZWZTZWN0aW9uT2JqZWN0W2tleV0pXG4gICAgICAgIC5tYXAoKHgpID0+IHgpO1xuICAgICAgY29uc3QgcmVmT2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzKHJlZlNlY3Rpb25PYmplY3QpO1xuICAgICAgY29uc3QgbWluaW11bVZhbHVlID0gcmVmT2JqZWN0VmFsdWVzWzFdO1xuICAgICAgY29uc3QgbWluUmVmZXJlbmNlUG9pbnQgPSBbXTtcbiAgICAgIGlmICh3ZWlnaHQgPCBtaW5pbXVtVmFsdWUpIHtcbiAgICAgICAgbWluUmVmZXJlbmNlUG9pbnQucHVzaChtaW5pbXVtVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5mb3JFYWNoKHJlZk9iamVjdFZhbHVlcywgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlIDw9IHdlaWdodCkge1xuICAgICAgICAgICAgbWluUmVmZXJlbmNlUG9pbnQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhc3RSZWZlcmVuY2VWYWx1ZSA9IF8ubGFzdChtaW5SZWZlcmVuY2VQb2ludCk7XG4gICAgICBjb25zdCBsYXN0VmFsdWVJbmRleCA9IF8uZmluZEluZGV4KHJlZk9iamVjdFZhbHVlcywgKG8pID0+IHtcbiAgICAgICAgcmV0dXJuIG8gPT09IGxhc3RSZWZlcmVuY2VWYWx1ZTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgU0RWYWx1ZSA9IHJlZk9iamVjdEtleXNbbGFzdFZhbHVlSW5kZXhdO1xuICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9IFNEVmFsdWUucmVwbGFjZSgnU0QnLCAnJyk7XG4gICAgICBpZiAoZm9ybWF0dGVkU0RWYWx1ZS5pbmNsdWRlcygnbmVnJykpIHtcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9IGZvcm1hdHRlZFNEVmFsdWUuc3Vic3RyaW5nKDEsIDApO1xuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gJy0nICsgZm9ybWF0dGVkU0RWYWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJ1MnIHx8XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICdMJyB8fFxuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID09PSAnTScgfHxcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJy01J1xuICAgICAgKSB7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAnLTQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBoZWlnaHQgJiYgd2VpZ2h0ID8gZm9ybWF0dGVkU0RWYWx1ZSA6IG51bGw7XG4gIH1cblxuICBjYWxjSGVpZ2h0Rm9yQWdlWnNjb3JlKGhlaWdodEZvckFnZVJlZiwgaGVpZ2h0LCB3ZWlnaHQpIHtcbiAgICBjb25zdCByZWZTZWN0aW9uT2JqZWN0ID0gXy5maXJzdChoZWlnaHRGb3JBZ2VSZWYpO1xuICAgIGxldCBmb3JtYXR0ZWRTRFZhbHVlO1xuICAgIGlmIChyZWZTZWN0aW9uT2JqZWN0KSB7XG4gICAgICBjb25zdCByZWZPYmplY3RWYWx1ZXMgPSBPYmplY3Qua2V5cyhyZWZTZWN0aW9uT2JqZWN0KVxuICAgICAgICAubWFwKChrZXkpID0+IHJlZlNlY3Rpb25PYmplY3Rba2V5XSlcbiAgICAgICAgLm1hcCgoeCkgPT4geCk7XG4gICAgICBjb25zdCByZWZPYmplY3RLZXlzID0gT2JqZWN0LmtleXMocmVmU2VjdGlvbk9iamVjdCk7XG4gICAgICBjb25zdCBtaW5pbXVtVmFsdWUgPSByZWZPYmplY3RWYWx1ZXNbMV07XG4gICAgICBjb25zdCBtaW5SZWZlcmVuY2VQb2ludCA9IFtdO1xuICAgICAgaWYgKGhlaWdodCA8IG1pbmltdW1WYWx1ZSkge1xuICAgICAgICBtaW5SZWZlcmVuY2VQb2ludC5wdXNoKG1pbmltdW1WYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfLmZvckVhY2gocmVmT2JqZWN0VmFsdWVzLCAodmFsdWUpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPD0gaGVpZ2h0KSB7XG4gICAgICAgICAgICBtaW5SZWZlcmVuY2VQb2ludC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgbGFzdFJlZmVyZW5jZVZhbHVlID0gXy5sYXN0KG1pblJlZmVyZW5jZVBvaW50KTtcbiAgICAgIGNvbnN0IGxhc3RWYWx1ZUluZGV4ID0gXy5maW5kSW5kZXgocmVmT2JqZWN0VmFsdWVzLCAobykgPT4ge1xuICAgICAgICByZXR1cm4gbyA9PT0gbGFzdFJlZmVyZW5jZVZhbHVlO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBTRFZhbHVlID0gcmVmT2JqZWN0S2V5c1tsYXN0VmFsdWVJbmRleF07XG4gICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gU0RWYWx1ZS5yZXBsYWNlKCdTRCcsICcnKTtcbiAgICAgIGlmIChmb3JtYXR0ZWRTRFZhbHVlLmluY2x1ZGVzKCduZWcnKSkge1xuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gZm9ybWF0dGVkU0RWYWx1ZS5zdWJzdHJpbmcoMSwgMCk7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAnLScgKyBmb3JtYXR0ZWRTRFZhbHVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICdTJyB8fFxuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID09PSAnTCcgfHxcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJ00nIHx8XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICctNSdcbiAgICAgICkge1xuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gJy00JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaGVpZ2h0ICYmIHdlaWdodCAmJiByZWZTZWN0aW9uT2JqZWN0ID8gZm9ybWF0dGVkU0RWYWx1ZSA6IG51bGw7XG4gIH1cblxuXG5cbiAgY2FsY1NvdXRoRWFzdEFzaWFOb25MYWJDVkRSaXNrKHNleDogJ00nIHwgJ0YnLCBzbW9rZXI/OiBib29sZWFuLCBhZ2U/OiBudW1iZXIsIHNicD86IG51bWJlciwgYm1pPzogbnVtYmVyKSB7XG4gICAgY29uc3QgaGFzVmFsaWRWYWx1ZXMgPSAodHlwZW9mIHNleCA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2Ygc21va2VyID09PSBcImJvb2xlYW5cIiAmJiB0eXBlb2YgYWdlID09PSBcIm51bWJlclwiICYmIHR5cGVvZiBzYnAgPT09IFwibnVtYmVyXCIgJiYgdHlwZW9mIGJtaSA9PT0gXCJudW1iZXJcIik7XG5cbiAgICBpZiAoIWhhc1ZhbGlkVmFsdWVzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLy8gQmluIGZ1bmN0aW9uc1xuICAgIGNvbnN0IGdldEFnZUJpbiA9IChhZ2UpID0+IE1hdGguZmxvb3IoKE1hdGgubWluKE1hdGgubWF4KDQwLCBhZ2UpLCA3NCkgLSA0MCkgLyA1KTtcbiAgICBjb25zdCBnZXRTYnBCaW4gPSAoc2JwKSA9PiBNYXRoLm1heCgwLCBNYXRoLmZsb29yKChNYXRoLm1pbihzYnAsIDE4MCkgLSAxMjApIC8gMjApICsgMSk7XG4gICAgY29uc3QgZ2V0Qm1pQmluID0gKGJtaSkgPT4gTWF0aC5tYXgoMCwgTWF0aC5mbG9vcigoTWF0aC5taW4oYm1pLCAzNSkgLSAyMCkgLyA1KSArIDEpO1xuXG4gICAgLy8gVmFyaWFibGVzXG4gICAgY29uc3Qgc2V4SWR4ID0gc2V4ID09PSAnTScgPyAwIDogMTtcbiAgICBjb25zdCBzbW9rZXJJZHggPSBzbW9rZXIgPyAxIDogMDtcbiAgICBjb25zdCBhZ2VJZHggPSA2IC0gZ2V0QWdlQmluKGFnZSk7XG4gICAgY29uc3QgYm1pSWR4ID0gZ2V0Qm1pQmluKGJtaSk7XG4gICAgY29uc3Qgc2JwSWR4ID0gNCAtIGdldFNicEJpbihzYnApO1xuXG4gICAgcmV0dXJuIHNvdXRoRWFzdEFzaWFDdmRSaXNrVGFibGVzW3NleElkeF1bc21va2VySWR4XVthZ2VJZHhdW3NicElkeF1bYm1pSWR4XTtcbiAgfVxuXG4gIGlzRW1wdHkodmFsKSB7XG4gICAgaWYgKFxuICAgICAgdmFsID09PSB1bmRlZmluZWQgfHxcbiAgICAgIHZhbCA9PT0gbnVsbCB8fFxuICAgICAgdmFsID09PSAnJyB8fFxuICAgICAgdmFsID09PSAnbnVsbCcgfHxcbiAgICAgIHZhbCA9PT0gJ3VuZGVmaW5lZCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkgJiYgdmFsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGFycmF5Q29udGFpbnMoYXJyYXksIG1lbWJlcnMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZW1iZXJzKSkge1xuICAgICAgaWYgKG1lbWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgY29udGFpbnMgPSB0cnVlO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbWJlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgdmFsID0gbWVtYmVyc1tpXTtcbiAgICAgICAgaWYgKGFycmF5LmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICBjb250YWlucyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250YWlucztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFycmF5LmluZGV4T2YobWVtYmVycykgIT09IC0xO1xuICAgIH1cbiAgfVxuICBleHRyYWN0UmVwZWF0aW5nR3JvdXBWYWx1ZXMoa2V5LCBhcnJheSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IGFycmF5Lm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW1ba2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG4gIGZvcm1hdERhdGUodmFsdWUsIGZvcm1hdCwgb2Zmc2V0KSB7XG4gICAgZm9ybWF0ID0gZm9ybWF0IHx8ICd5eXl5LU1NLWRkJztcbiAgICBvZmZzZXQgPSBvZmZzZXQgfHwgJyswMzAwJztcblxuICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdEYXRlRm9ybWF0RXhjZXB0aW9uOiB2YWx1ZSBwYXNzZWQgJyArICdpcyBub3QgYSB2YWxpZCBkYXRlJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTsgLy8gVE9ETyBpbXBsZW1lbnQgdGhpc1xuICAgIC8vIHJldHVybiAkZmlsdGVyKCdkYXRlJykodmFsdWUsIGZvcm1hdCwgb2Zmc2V0KTtcbiAgfVxuXG4gIGFycmF5Q29udGFpbnNBbnkoYXJyYXksIG1lbWJlcnMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZW1iZXJzKSkge1xuICAgICAgaWYgKG1lbWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgbGV0IGNvbnRhaW5zID0gZmFsc2U7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB2YWwgPSBtZW1iZXJzW2ldO1xuICAgICAgICBpZiAoYXJyYXkuaW5kZXhPZih2YWwpICE9PSAtMSkge1xuICAgICAgICAgIGNvbnRhaW5zID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbnRhaW5zO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZihtZW1iZXJzKSAhPT0gLTE7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRha2VzIGEgdGFyZ2V0IGNvbnRyb2wsIGFuIGVuY291bnRlciBhbmQgY29uY2VwdCB1dWlkLiBJZiB0aGUgdGFyZ2V0IGNvbnRyb2wgaGFzIGEgdmFsdWUgaXQgcmV0dXJucyBpdFxuICAgKiBvdGhlcndpc2UgaXQgdHJpZXMgdG8gZmluZCBpdCBpbiB0aGUgZW5jb3VudGVyLiBGaW5hbGx5IGl0IHJldHVybnMgbnVsbCBvZiBpdCBjYW4ndCBmaW5kIGVpdGhlciBvZiB0aGVtLlxuICAgKiBAcGFyYW0gdGFyZ2V0Q29udHJvbFxuICAgKiBAcGFyYW0gcmF3RW5jb3VudGVyXG4gICAqIEBwYXJhbSB1dWlkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRPYnNGcm9tQ29udHJvbE9yRW5jb3VudGVyKHRhcmdldENvbnRyb2wscmF3RW5jb3VudGVyLHV1aWQpOiBhbnkge1xuICAgIGNvbnN0IGZpbmRPYnMgPSAob2JzLCB1dWlkKSA9PiB7XG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgb2JzPy5zb21lKG8gPT4gcmVzdWx0ID0gbz8uY29uY2VwdD8udXVpZCA9PT0gdXVpZCA/IG8gOiBmaW5kT2JzKG8uZ3JvdXBNZW1iZXJzIHx8IFtdLCB1dWlkKSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBjb25zdCBvYnNWYWx1ZSA9IGZpbmRPYnMocmF3RW5jb3VudGVyPy5vYnMsIHV1aWQpPy52YWx1ZTtcbiAgICByZXR1cm4gISF0YXJnZXRDb250cm9sID8gdGFyZ2V0Q29udHJvbCA6IHR5cGVvZiBvYnNWYWx1ZSA9PT0gJ29iamVjdCcgPyBvYnNWYWx1ZS51dWlkIDogISFvYnNWYWx1ZSA/IG9ic1ZhbHVlIDogbnVsbFxuICB9XG5cbiAgZG9lc05vdE1hdGNoRXhwcmVzc2lvbihyZWdleFN0cmluZzogc3RyaW5nLCB2YWw6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbCB8fCBbJ3VuZGVmaW5lZCcsICdudWxsJywgJyddLmluY2x1ZGVzKHZhbC50b1N0cmluZygpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKHJlZ2V4U3RyaW5nKTsgXG4gICAgaWYgKCFwYXR0ZXJuLnRlc3QodmFsKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNhbGNHcmF2aWRhKHBhcml0eVRlcm0sIHBhcml0eUFib3J0aW9uKSB7XG4gICAgbGV0IGdyYXZpZGEgPSAwO1xuXG4gICAgaWYgKE51bWJlci5pc0ludGVnZXIocGFyaXR5VGVybSkpIHtcbiAgICAgIGdyYXZpZGEgKz0gcGFyaXR5VGVybSArIDE7XG4gICAgfVxuXG4gICAgaWYgKE51bWJlci5pc0ludGVnZXIocGFyaXR5QWJvcnRpb24pKSB7XG4gICAgICBncmF2aWRhICs9IHBhcml0eUFib3J0aW9uICsgMTtcbiAgICB9XG5cbiAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihwYXJpdHlUZXJtKSAmJiBOdW1iZXIuaXNJbnRlZ2VyKHBhcml0eUFib3J0aW9uKSkge1xuICAgICAgZ3JhdmlkYSA9IHBhcml0eVRlcm0gKyBwYXJpdHlBYm9ydGlvbiArIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyYXZpZGE7XG4gIH1cblxuICBnZXQgaGVscGVyRnVuY3Rpb25zKCkge1xuICAgIGNvbnN0IGhlbHBlciA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFycmF5Q29udGFpbnNBbnk6IGhlbHBlci5hcnJheUNvbnRhaW5zQW55LFxuICAgICAgY2FsY0JNSTogaGVscGVyLmNhbGNCTUksXG4gICAgICBjYWxjQk1JRm9yQWdlWnNjb3JlOiBoZWxwZXIuY2FsY0JNSUZvckFnZVpzY29yZSxcbiAgICAgIGNhbGNXZWlnaHRGb3JIZWlnaHRac2NvcmU6IGhlbHBlci5jYWxjV2VpZ2h0Rm9ySGVpZ2h0WnNjb3JlLFxuICAgICAgY2FsY0hlaWdodEZvckFnZVpzY29yZTogaGVscGVyLmNhbGNIZWlnaHRGb3JBZ2Vac2NvcmUsXG4gICAgICBjYWxjU291dGhFYXN0QXNpYU5vbkxhYkNWRFJpc2s6IGhlbHBlci5jYWxjU291dGhFYXN0QXNpYU5vbkxhYkNWRFJpc2ssXG4gICAgICBpc0VtcHR5OiBoZWxwZXIuaXNFbXB0eSxcbiAgICAgIGFycmF5Q29udGFpbnM6IGhlbHBlci5hcnJheUNvbnRhaW5zLFxuICAgICAgZXh0cmFjdFJlcGVhdGluZ0dyb3VwVmFsdWVzOiBoZWxwZXIuZXh0cmFjdFJlcGVhdGluZ0dyb3VwVmFsdWVzLFxuICAgICAgZ2V0T2JzRnJvbUNvbnRyb2xPckVuY291bnRlcjogaGVscGVyLmdldE9ic0Zyb21Db250cm9sT3JFbmNvdW50ZXIsXG4gICAgICBkb2VzTm90TWF0Y2hFeHByZXNzaW9uOiBoZWxwZXIuZG9lc05vdE1hdGNoRXhwcmVzc2lvbixcbiAgICAgIGNhbGNHcmF2aWRhOiBoZWxwZXIuY2FsY0dyYXZpZGFcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMtZXhwcmVzc2lvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2hlbHBlcnMvanMtZXhwcmVzc2lvbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU07UUFDcEIsSUFBSSxDQUFDLENBQUM7UUFDTixJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUU7WUFDcEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RDtRQUNELE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUNwQyxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTtZQUNwQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FB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Q0FBQyw0QkFBNEI7WUFDakUsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtZQUNyRCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7U0FDaEMsQ0FBQztJQUNKLENBQUM7O2dIQW5XVSxrQkFBa0I7b0hBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc291dGhFYXN0QXNpYUN2ZFJpc2tUYWJsZXMgfSBmcm9tICcuL3Jpc2stZGF0YXNldC10YWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKc0V4cHJlc3Npb25IZWxwZXIge1xuICBjYWxjQk1JKGhlaWdodCwgd2VpZ2h0KSB7XG4gICAgbGV0IHI7XG4gICAgaWYgKGhlaWdodCAmJiB3ZWlnaHQpIHtcbiAgICAgIHIgPSAod2VpZ2h0IC8gKCgoaGVpZ2h0IC8gMTAwKSAqIGhlaWdodCkgLyAxMDApKS50b0ZpeGVkKDEpO1xuICAgIH1cbiAgICByZXR1cm4gaGVpZ2h0ICYmIHdlaWdodCA/IHBhcnNlRmxvYXQocikgOiBudWxsO1xuICB9XG5cbiAgY2FsY0JTQShoZWlnaHQ6IG51bWJlciwgd2VpZ2h0OiBudW1iZXIpIHtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGlmIChoZWlnaHQgJiYgd2VpZ2h0KSB7XG4gICAgICByZXN1bHQgPSBNYXRoLnNxcnQoKGhlaWdodCAqIHdlaWdodCkgLyAzNjAwKS50b0ZpeGVkKDIpO1xuICAgIH1cbiAgICByZXR1cm4gaGVpZ2h0ICYmIHdlaWdodCA/IHBhcnNlRmxvYXQocmVzdWx0KSA6IG51bGw7XG4gIH1cblxuICBjYWxjQk1JRm9yQWdlWnNjb3JlKGJtaUZvckFnZVJlZiwgaGVpZ2h0LCB3ZWlnaHQpIHtcbiAgICBsZXQgYm1pO1xuICAgIGNvbnN0IG1heEFnZUluRGF5cyA9IDE4NTY7XG4gICAgaWYgKGhlaWdodCAmJiB3ZWlnaHQpIHtcbiAgICAgIGJtaSA9ICh3ZWlnaHQgLyAoKChoZWlnaHQgLyAxMDApICogaGVpZ2h0KSAvIDEwMCkpLnRvRml4ZWQoMSk7XG4gICAgfVxuICAgIGNvbnN0IHJlZlNlY3Rpb25PYmplY3QgPSBfLmZpcnN0KGJtaUZvckFnZVJlZik7XG4gICAgbGV0IGZvcm1hdHRlZFNEVmFsdWU7XG4gICAgaWYgKHJlZlNlY3Rpb25PYmplY3QpIHtcbiAgICAgIGNvbnN0IHJlZk9iamVjdFZhbHVlcyA9IE9iamVjdC5rZXlzKHJlZlNlY3Rpb25PYmplY3QpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gcmVmU2VjdGlvbk9iamVjdFtrZXldKVxuICAgICAgICAubWFwKCh4KSA9PiB4KTtcbiAgICAgIGNvbnN0IHJlZk9iamVjdEtleXMgPSBPYmplY3Qua2V5cyhyZWZTZWN0aW9uT2JqZWN0KTtcbiAgICAgIGNvbnN0IG1pbmltdW1WYWx1ZSA9IHJlZk9iamVjdFZhbHVlc1sxXTtcbiAgICAgIGNvbnN0IG1pblJlZmVyZW5jZVBvaW50ID0gW107XG4gICAgICBpZiAoYm1pIDwgbWluaW11bVZhbHVlKSB7XG4gICAgICAgIG1pblJlZmVyZW5jZVBvaW50LnB1c2gobWluaW11bVZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF8uZm9yRWFjaChyZWZPYmplY3RWYWx1ZXMsICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSA8PSBibWkpIHtcbiAgICAgICAgICAgIG1pblJlZmVyZW5jZVBvaW50LnB1c2godmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zdCBsYXN0UmVmZXJlbmNlVmFsdWUgPSBfLmxhc3QobWluUmVmZXJlbmNlUG9pbnQpO1xuICAgICAgY29uc3QgbGFzdFZhbHVlSW5kZXggPSBfLmZpbmRJbmRleChyZWZPYmplY3RWYWx1ZXMsIChvKSA9PiB7XG4gICAgICAgIHJldHVybiBvID09PSBsYXN0UmVmZXJlbmNlVmFsdWU7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IFNEVmFsdWUgPSByZWZPYmplY3RLZXlzW2xhc3RWYWx1ZUluZGV4XTtcbiAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSBTRFZhbHVlLnJlcGxhY2UoJ1NEJywgJycpO1xuICAgICAgaWYgKGZvcm1hdHRlZFNEVmFsdWUuaW5jbHVkZXMoJ25lZycpKSB7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSBmb3JtYXR0ZWRTRFZhbHVlLnN1YnN0cmluZygxLCAwKTtcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9ICctJyArIGZvcm1hdHRlZFNEVmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJ1MnIHx8XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICdMJyB8fFxuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID09PSAnTScgfHxcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJy01J1xuICAgICAgKSB7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAnLTQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBibWkgJiYgcmVmU2VjdGlvbk9iamVjdCA/IGZvcm1hdHRlZFNEVmFsdWUgOiBudWxsO1xuICB9XG4gIGNhbGNXZWlnaHRGb3JIZWlnaHRac2NvcmUod2VpZ2h0Rm9ySGVpZ2h0UmVmLCBoZWlnaHQsIHdlaWdodCkge1xuICAgIGxldCByZWZTZWN0aW9uO1xuICAgIGxldCBmb3JtYXR0ZWRTRFZhbHVlO1xuICAgIGlmIChoZWlnaHQgJiYgd2VpZ2h0KSB7XG4gICAgICBoZWlnaHQgPSBwYXJzZUZsb2F0KGhlaWdodCkudG9GaXhlZCgxKTtcbiAgICB9XG4gICAgY29uc3Qgc3RhbmRhcmRIZWlnaHRNaW4gPSA0NTtcbiAgICBjb25zdCBzdGFuZGFyZE1heEhlaWdodCA9IDExMDtcbiAgICBpZiAoaGVpZ2h0IDwgc3RhbmRhcmRIZWlnaHRNaW4gfHwgaGVpZ2h0ID4gc3RhbmRhcmRNYXhIZWlnaHQpIHtcbiAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAtNDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVmU2VjdGlvbiA9IF8uZmlsdGVyKHdlaWdodEZvckhlaWdodFJlZiwgKHJlZk9iamVjdCkgPT4ge1xuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChyZWZPYmplY3RbJ0xlbmd0aCddKS50b0ZpeGVkKDEpID09PSBoZWlnaHQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCByZWZTZWN0aW9uT2JqZWN0ID0gXy5maXJzdChyZWZTZWN0aW9uKTtcbiAgICBpZiAocmVmU2VjdGlvbk9iamVjdCkge1xuICAgICAgY29uc3QgcmVmT2JqZWN0VmFsdWVzID0gT2JqZWN0LmtleXMocmVmU2VjdGlvbk9iamVjdClcbiAgICAgICAgLm1hcCgoa2V5KSA9PiByZWZTZWN0aW9uT2JqZWN0W2tleV0pXG4gICAgICAgIC5tYXAoKHgpID0+IHgpO1xuICAgICAgY29uc3QgcmVmT2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzKHJlZlNlY3Rpb25PYmplY3QpO1xuICAgICAgY29uc3QgbWluaW11bVZhbHVlID0gcmVmT2JqZWN0VmFsdWVzWzFdO1xuICAgICAgY29uc3QgbWluUmVmZXJlbmNlUG9pbnQgPSBbXTtcbiAgICAgIGlmICh3ZWlnaHQgPCBtaW5pbXVtVmFsdWUpIHtcbiAgICAgICAgbWluUmVmZXJlbmNlUG9pbnQucHVzaChtaW5pbXVtVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5mb3JFYWNoKHJlZk9iamVjdFZhbHVlcywgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlIDw9IHdlaWdodCkge1xuICAgICAgICAgICAgbWluUmVmZXJlbmNlUG9pbnQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhc3RSZWZlcmVuY2VWYWx1ZSA9IF8ubGFzdChtaW5SZWZlcmVuY2VQb2ludCk7XG4gICAgICBjb25zdCBsYXN0VmFsdWVJbmRleCA9IF8uZmluZEluZGV4KHJlZk9iamVjdFZhbHVlcywgKG8pID0+IHtcbiAgICAgICAgcmV0dXJuIG8gPT09IGxhc3RSZWZlcmVuY2VWYWx1ZTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgU0RWYWx1ZSA9IHJlZk9iamVjdEtleXNbbGFzdFZhbHVlSW5kZXhdO1xuICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9IFNEVmFsdWUucmVwbGFjZSgnU0QnLCAnJyk7XG4gICAgICBpZiAoZm9ybWF0dGVkU0RWYWx1ZS5pbmNsdWRlcygnbmVnJykpIHtcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9IGZvcm1hdHRlZFNEVmFsdWUuc3Vic3RyaW5nKDEsIDApO1xuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gJy0nICsgZm9ybWF0dGVkU0RWYWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJ1MnIHx8XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICdMJyB8fFxuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID09PSAnTScgfHxcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJy01J1xuICAgICAgKSB7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAnLTQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBoZWlnaHQgJiYgd2VpZ2h0ID8gZm9ybWF0dGVkU0RWYWx1ZSA6IG51bGw7XG4gIH1cblxuICBjYWxjSGVpZ2h0Rm9yQWdlWnNjb3JlKGhlaWdodEZvckFnZVJlZiwgaGVpZ2h0LCB3ZWlnaHQpIHtcbiAgICBjb25zdCByZWZTZWN0aW9uT2JqZWN0ID0gXy5maXJzdChoZWlnaHRGb3JBZ2VSZWYpO1xuICAgIGxldCBmb3JtYXR0ZWRTRFZhbHVlO1xuICAgIGlmIChyZWZTZWN0aW9uT2JqZWN0KSB7XG4gICAgICBjb25zdCByZWZPYmplY3RWYWx1ZXMgPSBPYmplY3Qua2V5cyhyZWZTZWN0aW9uT2JqZWN0KVxuICAgICAgICAubWFwKChrZXkpID0+IHJlZlNlY3Rpb25PYmplY3Rba2V5XSlcbiAgICAgICAgLm1hcCgoeCkgPT4geCk7XG4gICAgICBjb25zdCByZWZPYmplY3RLZXlzID0gT2JqZWN0LmtleXMocmVmU2VjdGlvbk9iamVjdCk7XG4gICAgICBjb25zdCBtaW5pbXVtVmFsdWUgPSByZWZPYmplY3RWYWx1ZXNbMV07XG4gICAgICBjb25zdCBtaW5SZWZlcmVuY2VQb2ludCA9IFtdO1xuICAgICAgaWYgKGhlaWdodCA8IG1pbmltdW1WYWx1ZSkge1xuICAgICAgICBtaW5SZWZlcmVuY2VQb2ludC5wdXNoKG1pbmltdW1WYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfLmZvckVhY2gocmVmT2JqZWN0VmFsdWVzLCAodmFsdWUpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPD0gaGVpZ2h0KSB7XG4gICAgICAgICAgICBtaW5SZWZlcmVuY2VQb2ludC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgbGFzdFJlZmVyZW5jZVZhbHVlID0gXy5sYXN0KG1pblJlZmVyZW5jZVBvaW50KTtcbiAgICAgIGNvbnN0IGxhc3RWYWx1ZUluZGV4ID0gXy5maW5kSW5kZXgocmVmT2JqZWN0VmFsdWVzLCAobykgPT4ge1xuICAgICAgICByZXR1cm4gbyA9PT0gbGFzdFJlZmVyZW5jZVZhbHVlO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBTRFZhbHVlID0gcmVmT2JqZWN0S2V5c1tsYXN0VmFsdWVJbmRleF07XG4gICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gU0RWYWx1ZS5yZXBsYWNlKCdTRCcsICcnKTtcbiAgICAgIGlmIChmb3JtYXR0ZWRTRFZhbHVlLmluY2x1ZGVzKCduZWcnKSkge1xuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gZm9ybWF0dGVkU0RWYWx1ZS5zdWJzdHJpbmcoMSwgMCk7XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPSAnLScgKyBmb3JtYXR0ZWRTRFZhbHVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICdTJyB8fFxuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID09PSAnTCcgfHxcbiAgICAgICAgZm9ybWF0dGVkU0RWYWx1ZSA9PT0gJ00nIHx8XG4gICAgICAgIGZvcm1hdHRlZFNEVmFsdWUgPT09ICctNSdcbiAgICAgICkge1xuICAgICAgICBmb3JtYXR0ZWRTRFZhbHVlID0gJy00JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaGVpZ2h0ICYmIHdlaWdodCAmJiByZWZTZWN0aW9uT2JqZWN0ID8gZm9ybWF0dGVkU0RWYWx1ZSA6IG51bGw7XG4gIH1cblxuICBjYWxjU291dGhFYXN0QXNpYU5vbkxhYkNWRFJpc2soXG4gICAgc2V4OiAnTScgfCAnRicsXG4gICAgc21va2VyPzogYm9vbGVhbixcbiAgICBhZ2U/OiBudW1iZXIsXG4gICAgc2JwPzogbnVtYmVyLFxuICAgIGJtaT86IG51bWJlclxuICApIHtcbiAgICBjb25zdCBoYXNWYWxpZFZhbHVlcyA9XG4gICAgICB0eXBlb2Ygc2V4ID09PSAnc3RyaW5nJyAmJlxuICAgICAgdHlwZW9mIHNtb2tlciA9PT0gJ2Jvb2xlYW4nICYmXG4gICAgICB0eXBlb2YgYWdlID09PSAnbnVtYmVyJyAmJlxuICAgICAgdHlwZW9mIHNicCA9PT0gJ251bWJlcicgJiZcbiAgICAgIHR5cGVvZiBibWkgPT09ICdudW1iZXInO1xuXG4gICAgaWYgKCFoYXNWYWxpZFZhbHVlcykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIEJpbiBmdW5jdGlvbnNcbiAgICBjb25zdCBnZXRBZ2VCaW4gPSAoYWdlKSA9PlxuICAgICAgTWF0aC5mbG9vcigoTWF0aC5taW4oTWF0aC5tYXgoNDAsIGFnZSksIDc0KSAtIDQwKSAvIDUpO1xuICAgIGNvbnN0IGdldFNicEJpbiA9IChzYnApID0+XG4gICAgICBNYXRoLm1heCgwLCBNYXRoLmZsb29yKChNYXRoLm1pbihzYnAsIDE4MCkgLSAxMjApIC8gMjApICsgMSk7XG4gICAgY29uc3QgZ2V0Qm1pQmluID0gKGJtaSkgPT5cbiAgICAgIE1hdGgubWF4KDAsIE1hdGguZmxvb3IoKE1hdGgubWluKGJtaSwgMzUpIC0gMjApIC8gNSkgKyAxKTtcblxuICAgIC8vIFZhcmlhYmxlc1xuICAgIGNvbnN0IHNleElkeCA9IHNleCA9PT0gJ00nID8gMCA6IDE7XG4gICAgY29uc3Qgc21va2VySWR4ID0gc21va2VyID8gMSA6IDA7XG4gICAgY29uc3QgYWdlSWR4ID0gNiAtIGdldEFnZUJpbihhZ2UpO1xuICAgIGNvbnN0IGJtaUlkeCA9IGdldEJtaUJpbihibWkpO1xuICAgIGNvbnN0IHNicElkeCA9IDQgLSBnZXRTYnBCaW4oc2JwKTtcblxuICAgIHJldHVybiBzb3V0aEVhc3RBc2lhQ3ZkUmlza1RhYmxlc1tzZXhJZHhdW3Ntb2tlcklkeF1bYWdlSWR4XVtzYnBJZHhdW1xuICAgICAgYm1pSWR4XG4gICAgXTtcbiAgfVxuXG4gIGlzRW1wdHkodmFsKSB7XG4gICAgaWYgKFxuICAgICAgdmFsID09PSB1bmRlZmluZWQgfHxcbiAgICAgIHZhbCA9PT0gbnVsbCB8fFxuICAgICAgdmFsID09PSAnJyB8fFxuICAgICAgdmFsID09PSAnbnVsbCcgfHxcbiAgICAgIHZhbCA9PT0gJ3VuZGVmaW5lZCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkgJiYgdmFsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGFycmF5Q29udGFpbnMoYXJyYXksIG1lbWJlcnMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZW1iZXJzKSkge1xuICAgICAgaWYgKG1lbWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgY29udGFpbnMgPSB0cnVlO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbWJlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgdmFsID0gbWVtYmVyc1tpXTtcbiAgICAgICAgaWYgKGFycmF5LmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICBjb250YWlucyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250YWlucztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFycmF5LmluZGV4T2YobWVtYmVycykgIT09IC0xO1xuICAgIH1cbiAgfVxuICBleHRyYWN0UmVwZWF0aW5nR3JvdXBWYWx1ZXMoa2V5LCBhcnJheSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IGFycmF5Lm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW1ba2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG4gIGZvcm1hdERhdGUodmFsdWUsIGZvcm1hdCwgb2Zmc2V0KSB7XG4gICAgZm9ybWF0ID0gZm9ybWF0IHx8ICd5eXl5LU1NLWRkJztcbiAgICBvZmZzZXQgPSBvZmZzZXQgfHwgJyswMzAwJztcblxuICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdEYXRlRm9ybWF0RXhjZXB0aW9uOiB2YWx1ZSBwYXNzZWQgJyArICdpcyBub3QgYSB2YWxpZCBkYXRlJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTsgLy8gVE9ETyBpbXBsZW1lbnQgdGhpc1xuICAgIC8vIHJldHVybiAkZmlsdGVyKCdkYXRlJykodmFsdWUsIGZvcm1hdCwgb2Zmc2V0KTtcbiAgfVxuXG4gIGFycmF5Q29udGFpbnNBbnkoYXJyYXksIG1lbWJlcnMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZW1iZXJzKSkge1xuICAgICAgaWYgKG1lbWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgbGV0IGNvbnRhaW5zID0gZmFsc2U7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB2YWwgPSBtZW1iZXJzW2ldO1xuICAgICAgICBpZiAoYXJyYXkuaW5kZXhPZih2YWwpICE9PSAtMSkge1xuICAgICAgICAgIGNvbnRhaW5zID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbnRhaW5zO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZihtZW1iZXJzKSAhPT0gLTE7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRha2VzIGEgdGFyZ2V0IGNvbnRyb2wsIGFuIGVuY291bnRlciBhbmQgY29uY2VwdCB1dWlkLiBJZiB0aGUgdGFyZ2V0IGNvbnRyb2wgaGFzIGEgdmFsdWUgaXQgcmV0dXJucyBpdFxuICAgKiBvdGhlcndpc2UgaXQgdHJpZXMgdG8gZmluZCBpdCBpbiB0aGUgZW5jb3VudGVyLiBGaW5hbGx5IGl0IHJldHVybnMgbnVsbCBvZiBpdCBjYW4ndCBmaW5kIGVpdGhlciBvZiB0aGVtLlxuICAgKiBAcGFyYW0gdGFyZ2V0Q29udHJvbFxuICAgKiBAcGFyYW0gcmF3RW5jb3VudGVyXG4gICAqIEBwYXJhbSB1dWlkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRPYnNGcm9tQ29udHJvbE9yRW5jb3VudGVyKHRhcmdldENvbnRyb2wsIHJhd0VuY291bnRlciwgdXVpZCk6IGFueSB7XG4gICAgY29uc3QgZmluZE9icyA9IChvYnMsIHV1aWQpID0+IHtcbiAgICAgIGxldCByZXN1bHQ7XG4gICAgICBvYnM/LnNvbWUoXG4gICAgICAgIChvKSA9PlxuICAgICAgICAgIChyZXN1bHQgPVxuICAgICAgICAgICAgbz8uY29uY2VwdD8udXVpZCA9PT0gdXVpZCA/IG8gOiBmaW5kT2JzKG8uZ3JvdXBNZW1iZXJzIHx8IFtdLCB1dWlkKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gICAgY29uc3Qgb2JzVmFsdWUgPSBmaW5kT2JzKHJhd0VuY291bnRlcj8ub2JzLCB1dWlkKT8udmFsdWU7XG4gICAgcmV0dXJuICEhdGFyZ2V0Q29udHJvbFxuICAgICAgPyB0YXJnZXRDb250cm9sXG4gICAgICA6IHR5cGVvZiBvYnNWYWx1ZSA9PT0gJ29iamVjdCdcbiAgICAgID8gb2JzVmFsdWUudXVpZFxuICAgICAgOiAhIW9ic1ZhbHVlXG4gICAgICA/IG9ic1ZhbHVlXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBkb2VzTm90TWF0Y2hFeHByZXNzaW9uKFxuICAgIHJlZ2V4U3RyaW5nOiBzdHJpbmcsXG4gICAgdmFsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdmFsIHx8IFsndW5kZWZpbmVkJywgJ251bGwnLCAnJ10uaW5jbHVkZXModmFsLnRvU3RyaW5nKCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgcGF0dGVybiA9IG5ldyBSZWdFeHAocmVnZXhTdHJpbmcpO1xuICAgIGlmICghcGF0dGVybi50ZXN0KHZhbCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjYWxjR3JhdmlkYShwYXJpdHlUZXJtLCBwYXJpdHlBYm9ydGlvbikge1xuICAgIGxldCBncmF2aWRhID0gMDtcblxuICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHBhcml0eVRlcm0pKSB7XG4gICAgICBncmF2aWRhICs9IHBhcml0eVRlcm0gKyAxO1xuICAgIH1cblxuICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHBhcml0eUFib3J0aW9uKSkge1xuICAgICAgZ3JhdmlkYSArPSBwYXJpdHlBYm9ydGlvbiArIDE7XG4gICAgfVxuXG4gICAgaWYgKE51bWJlci5pc0ludGVnZXIocGFyaXR5VGVybSkgJiYgTnVtYmVyLmlzSW50ZWdlcihwYXJpdHlBYm9ydGlvbikpIHtcbiAgICAgIGdyYXZpZGEgPSBwYXJpdHlUZXJtICsgcGFyaXR5QWJvcnRpb24gKyAxO1xuICAgIH1cblxuICAgIHJldHVybiBncmF2aWRhO1xuICB9XG5cbiAgZ2V0IGhlbHBlckZ1bmN0aW9ucygpIHtcbiAgICBjb25zdCBoZWxwZXIgPSB0aGlzO1xuICAgIHJldHVybiB7XG4gICAgICBhcnJheUNvbnRhaW5zQW55OiBoZWxwZXIuYXJyYXlDb250YWluc0FueSxcbiAgICAgIGNhbGNCTUk6IGhlbHBlci5jYWxjQk1JLFxuICAgICAgY2FsY0JNSUZvckFnZVpzY29yZTogaGVscGVyLmNhbGNCTUlGb3JBZ2Vac2NvcmUsXG4gICAgICBjYWxjV2VpZ2h0Rm9ySGVpZ2h0WnNjb3JlOiBoZWxwZXIuY2FsY1dlaWdodEZvckhlaWdodFpzY29yZSxcbiAgICAgIGNhbGNIZWlnaHRGb3JBZ2Vac2NvcmU6IGhlbHBlci5jYWxjSGVpZ2h0Rm9yQWdlWnNjb3JlLFxuICAgICAgY2FsY1NvdXRoRWFzdEFzaWFOb25MYWJDVkRSaXNrOiBoZWxwZXIuY2FsY1NvdXRoRWFzdEFzaWFOb25MYWJDVkRSaXNrLFxuICAgICAgaXNFbXB0eTogaGVscGVyLmlzRW1wdHksXG4gICAgICBhcnJheUNvbnRhaW5zOiBoZWxwZXIuYXJyYXlDb250YWlucyxcbiAgICAgIGV4dHJhY3RSZXBlYXRpbmdHcm91cFZhbHVlczogaGVscGVyLmV4dHJhY3RSZXBlYXRpbmdHcm91cFZhbHVlcyxcbiAgICAgIGdldE9ic0Zyb21Db250cm9sT3JFbmNvdW50ZXI6IGhlbHBlci5nZXRPYnNGcm9tQ29udHJvbE9yRW5jb3VudGVyLFxuICAgICAgZG9lc05vdE1hdGNoRXhwcmVzc2lvbjogaGVscGVyLmRvZXNOb3RNYXRjaEV4cHJlc3Npb24sXG4gICAgICBjYWxjR3JhdmlkYTogaGVscGVyLmNhbGNHcmF2aWRhXG4gICAgfTtcbiAgfVxufVxuIl19
|