barsa-novin-ray-core 1.0.406 → 1.0.408
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/esm2020/lib/abstract-classes/form-page.component.mjs +1 -1
- package/esm2020/lib/abstract-classes/models.mjs +1 -1
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +35 -19
- package/esm2020/lib/dynamic-component/base-view-props.mjs +2 -4
- package/esm2020/lib/form/form.component.mjs +24 -3
- package/esm2020/lib/form-new/form-new.component.mjs +1 -1
- package/esm2020/lib/services/ulvmain.service.mjs +31 -24
- package/fesm2015/barsa-novin-ray-core.mjs +89 -47
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -1
- package/fesm2020/barsa-novin-ray-core.mjs +89 -47
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/models.d.ts +8 -0
- package/lib/dynamic-component/base-view-item-props.d.ts +14 -8
- package/lib/dynamic-component/base-view-props.d.ts +1 -5
- package/lib/form/form.component.d.ts +10 -2
- package/lib/services/ulvmain.service.d.ts +1 -5
- package/package.json +1 -1
|
@@ -26,7 +26,7 @@ FormPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
26
26
|
(formClose)="onFormClose()"
|
|
27
27
|
></bnrc-form>
|
|
28
28
|
<router-outlet></router-outlet>
|
|
29
|
-
`, isInline: true, styles: [":host{display:block;background:var(--sapBackgroundColor)}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange"], outputs: ["titleChanged", "moChanged", "formClose", "formRendered"] }, { kind: "directive", type: i3.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29
|
+
`, isInline: true, styles: [":host{display:block;background:var(--sapBackgroundColor)}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "directive", type: i3.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormPageComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{ selector: 'bnrc-form-page', template: `
|
|
@@ -181,4 +181,4 @@ export var SelectionMode;
|
|
|
181
181
|
SelectionMode["MULTIPLE"] = "multiple";
|
|
182
182
|
SelectionMode["NONE"] = "none";
|
|
183
183
|
})(SelectionMode || (SelectionMode = {}));
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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QU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERhdGVJbmZvIGFzIERhdGVJbmZvU2VydmljZSB9IGZyb20gJy4uL2RhdGUtc2VydmljZXMnO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XG4gICAgSGlkZTogYm9vbGVhbjtcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XG4gICAgU2hvd0xhYmVsID0gdHJ1ZTtcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcbiAgICBJc0JvbGQ6IGJvb2xlYW47XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcbiAgICBDb21wb25lbnQ6IHN0cmluZztcbiAgICBJbmZvOiBDb250cm9sSW5mb1R5cGVzO1xuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xuICAgIElzTHRyOiBib29sZWFuO1xuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZpbGVBdHRhY2htZW50SW5mbyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElkOiBzdHJpbmc7XG4gICAgSXNOZXc6IGJvb2xlYW47XG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBGaWxlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1heExlbmd0aDogbnVtYmVyO1xuICAgIE1pbkxlbmd0aDogbnVtYmVyO1xuICAgIFJlZ3VsYXJFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgSXNQYXNzd29yZDogYm9vbGVhbjtcbiAgICBJc011bHRpTGluZTogYm9vbGVhbjtcbiAgICBOdWxsVGV4dDogc3RyaW5nO1xuICAgIEFsbG93ZWRTdHJpbmdDaGFyczogc3RyaW5nO1xuICAgIE9ubHlBY2NlcHRDdXJyZW50Q3VsdHVyZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBSaWNoU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzSHRtbFZpZXdlcjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBOdW1iZXJDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBEZWNpbWFsUHJlY2lzaW9uOiBudW1iZXI7XG4gICAgU2hvd1Rob3VzYW5kU2VwZXJhdG9yOiBib29sZWFuO1xuICAgIE51bWJlclR5cGU6IHN0cmluZztcbiAgICBDdXJyZW5jeVN5bWJvbDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEZpbGVQaWN0dXJlSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEV4dDogc3RyaW5nO1xuICAgIEZpbGVJZDogc3RyaW5nO1xuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDYW5EZWxldGU6IGJvb2xlYW47XG4gICAgQ2FuU2F2ZTogYm9vbGVhbjtcbiAgICBDYW5WaWV3OiBib29sZWFuO1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgTWF4RmlsZUNvdW50OiBudW1iZXI7XG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xuICAgIE9mZmljZU9ubGluZTogYm9vbGVhbjtcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1lbnVOYW1lOiBzdHJpbmc7XG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xuICAgIER5bmFtaWNDb21tYW5kOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgSWNvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7fVxuZXhwb3J0IGNsYXNzIFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBTaXplTW9kZTogbnVtYmVyO1xuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBHYXVnZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBNYXhWYWx1ZTI6IG51bWJlcjtcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xuICAgIE1pblZhbHVlMjogbnVtYmVyO1xuICAgIFZhbHVlOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBSZWxhdGlvbkxpc3RUeXBlcyA9XG4gICAgfCBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsXG4gICAgfCBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbFxuICAgIHwgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsXG4gICAgfCBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWw7XG5leHBvcnQgY2xhc3MgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XG59XG5leHBvcnQgY2xhc3MgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XG4gICAgQXV0b1NhdmU7XG59XG5leHBvcnQgY2xhc3MgUmVsYXRlZFJlcG9ydENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xufVxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEV4dHJhVGV4dDogc3RyaW5nO1xuICAgIFN1Z2dlc3Rpb25zOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRW51bUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBTaG93QXNSYWRpb0J1dHRvbjogYm9vbGVhbjtcbiAgICBJY29uRGlzcGxheVR5cGU6IHN0cmluZztcbiAgICBEYXRhU291cmNlOiB7XG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcbiAgICB9O1xuICAgIEVtcHR5Um93RGF0YTogUm93RGF0YU9wdGlvbjtcbn1cbmV4cG9ydCBjbGFzcyBSb3dEYXRhT3B0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIElzRW1wdHk6IGJvb2xlYW47XG4gICAgdHh0OiBzdHJpbmc7XG4gICAgdHh0X3NhZmU/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENhbGVuZGFyVHlwZTogc3RyaW5nO1xuICAgIERhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBTaG93RGF0ZTE6IGJvb2xlYW47XG4gICAgU2hvd1RpbWUxOiBib29sZWFuO1xuICAgIFRpbWVGb3JtYXQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBCb29sQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBGYWxzZUNhcHRpb246IHN0cmluZztcbiAgICBUcnVlQ2FwdGlvbjogc3RyaW5nO1xuICAgIFRydWVJY29uOiBzdHJpbmc7XG4gICAgVmlld1R5cGU6IHN0cmluZztcbiAgICBGYWxzZUljb246IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElubmVyQ3RybHI6IENvbnRyb2xJbmZvVHlwZXM7XG4gICAgRXhlY3V0YWlvblRpbWU6IHN0cmluZztcbiAgICBFZGl0VHlwZTogc3RyaW5nO1xuICAgIERvbnRTaG93UmVjYWxjdWxhdGVCdXR0b246IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgVHlwZURlZklkOiBhbnk7XG4gICAgVHlwZURlZkljb246IHN0cmluZztcbiAgICBJc0NvbXBvc2VkUmVsYXRpb246IHN0cmluZztcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XG4gICAgVHlwZVZpZXdJZDogc3RyaW5nO1xuICAgIEZvcm1QYW5lbFNldHRpbmc6IEZvcm1TZXR0aW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvIHtcbiAgICBmaWxlSWQ6IHN0cmluZztcbiAgICBmaWxlVXJsOiBzdHJpbmc7XG4gICAgdmlld0luQnJvd3NlcjogYm9vbGVhbjtcbiAgICBjb252ZXJ0VG86IHN0cmluZztcbiAgICBpc09mZmljZU9ubGluZTogYm9vbGVhbjtcbiAgICBmb3JPY3g6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm9SZXN1bHQge1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gICAgc3VjY2VlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBMaW5lYXJMaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBEZWZhdWx0RmllbGQ6IHN0cmluZztcbiAgICBFeHRyYUpzb25Qcm9wRmllbGQ6IHN0cmluZztcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XG4gICAgSXNHZW5lcmFsSW5mbzogYm9vbGVhbjtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIFJlbGF0aW9uOiBMaXN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgUm93SWNvbjogc3RyaW5nO1xuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIExpc3RSZWxhdGlvbk1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcbiAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgIFBhcmVudE1vSWQ6IHN0cmluZztcbiAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xuICAgIEhpZGVDb21ibzogYm9vbGVhbjtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgUGFzc1BhcmVudEZvcm06IGJvb2xlYW47XG4gICAgU2hvd05ld0J1dHRvbjogYm9vbGVhbjtcbiAgICBTaG93T2tDYW5jZWw6IGJvb2xlYW47XG4gICAgVmlld1JlbGF0ZWRGb3JtVHlwZTogc3RyaW5nO1xuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIERhdGFTb3VyY2U6IHtcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xuICAgIH07XG4gICAgUHJldmlld0ZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIFByZXZpZXdGaWVsZElkOiBzdHJpbmc7XG4gICAgUHJldmlld0ZpZWxkTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sSW5mb1R5cGVzID1cbiAgICB8IFN1YmZvcm1Db250cm9sSW5mb01vZGVsXG4gICAgfCBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBCb29sQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRW51bUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEljb25Db250cm9sSW5mb01vZGVsXG4gICAgfCBGaWxlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsXG4gICAgfCBOdW1iZXJDb250cm9sSW5mb01vZGVsXG4gICAgfCBTdHJpbmdDb250cm9sSW5mb01vZGVsXG4gICAgfCBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEdhdWdlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WaWV3U2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIExheW91dDk0OiBhbnk7XG4gICAgQ29udHJvbEluZm86IEdlbmVyYWxDb250cm9sSW5mb01vZGVsW107XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgRGF0YToge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIH07XG4gICAgVmlldzogRm9ybVZpZXdTZXR0aW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICRGaWVsZERpY3Q/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgICRSZXBvcnRJZD86IHN0cmluZztcbiAgICAkVHlwZT86IHN0cmluZztcbiAgICAkU3R5bGVJbmRleD86IG51bWJlcltdO1xuICAgICRDYXB0aW9uOiBzdHJpbmc7XG4gICAgJEljb24/OiBzdHJpbmc7XG4gICAgJFN0YXRlPzogc3RyaW5nO1xuICAgICRUeXBlRGVmSWQ/OiBzdHJpbmc7XG4gICAgJFR5cGVEZWZOYW1lPzogc3RyaW5nO1xuICAgICRDaGlsZHJlbj86IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBJbmhlcml0YW5jZUluZm8/OiB7XG4gICAgICAgIENoaWxkRmllbGROYW1lOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZpZWxkTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIENhbGVuZGFyTWV0YW9iamVjdERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgICRDb2xvcjogc3RyaW5nO1xuICAgICRNb21lbnRTdGFydERhdGU6IHN0cmluZztcbiAgICAkTW9tZW50RW5kRGF0ZTogc3RyaW5nO1xuICAgICRTdGFydFRpbWVzOiBzdHJpbmc7XG4gICAgJEVuZFRpbWVzOiBzdHJpbmc7XG4gICAgJFRpdGxlOiBzdHJpbmc7XG4gICAgJE5vdGVzOiBzdHJpbmc7XG4gICAgJFN0YXJ0RGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XG4gICAgJEVuZERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xufVxuXG5leHBvcnQgY2xhc3MgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgJFR5cGU/OiBzdHJpbmc7XG4gICAgVHlwZURlZklkOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJY29uPzogc3RyaW5nO1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xuICAgIERlbGV0ZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xuICAgIEFkZGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBQYWdpbmc6IFBhZ2luZ1NldHRpbmc7XG4gICAgUmVsYXRpb24/OiB7XG4gICAgICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xuICAgICAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xuICAgICAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFBhcmVudEZvcm1zOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFJvb3RQYXJlbnRMaXN0OiBib29sZWFuO1xuICAgIH07XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuRGVsZXRlZExpc3QgPSB0aGlzLkFkZGVkTGlzdCA9IHRoaXMuTW9EYXRhTGlzdCA9IFtdO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRCYXNlSW5mbyB7XG4gICAgSWQ6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRm9sZGVySWQ6IHN0cmluZztcbiAgICBJY29uVXJsOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0RXh0cmFJbmZvIGV4dGVuZHMgUmVwb3J0QmFzZUluZm8ge1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFR5cGVEZWZDYXB0aW9uOiBzdHJpbmc7XG4gICAgUmVwb3J0VHlwZTogc3RyaW5nO1xuICAgIEhpZGVUb29sYmFyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdFJlbGF0aW9uTW9kZWwgZXh0ZW5kcyBMaXN0UmVsYXRpb25Nb2RlbCB7XG4gICAgUGFyZW50RmRJZDogc3RyaW5nO1xuICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEZpZWxkSW5mb1R5cGVFbnVtIHtcbiAgICBJbnRJbmZvID0gMCxcbiAgICBTdHJpbmdJbmZvID0gMixcbiAgICBEYXRlSW5mbyA9IDMsXG4gICAgQm9vbEluZm8gPSA1LFxuICAgIEVudW1JbmZvID0gNixcbiAgICBVc2VySW5mbyA9IDcsXG4gICAgQ2F0ZWdvcnlJbmZvID0gOCxcbiAgICBNZXRhT2JqZWN0SW5mbyA9IDksXG4gICAgQ29tbWFuZEluZm8gPSAxMCwgLy8gMHgwMDAwMDAwQVxuICAgIFBpY3R1cmVzSW5mbyA9IDExLCAvLyAweDAwMDAwMDBCXG4gICAgUmVsYXRpb25JbmZvID0gMTIsIC8vIDB4MDAwMDAwMENcbiAgICBIaXN0b3J5SW5mbyA9IDEzLCAvLyAweDAwMDAwMDBEXG4gICAgUmVsYXRpb25JbmZvUmV2ZXJzZV9Ba3NMaXN0aSA9IDE0LCAvLyAweDAwMDAwMDBFXG4gICAgQ3JlYXRvclVzZXJJbmZvID0gMTUsIC8vIDB4MDAwMDAwMEZcbiAgICBDcmVhdGlvbkRhdGVJbmZvID0gMTYsIC8vIDB4MDAwMDAwMTBcbiAgICBMYXN0VXBkYXRlRGF0ZUluZm8gPSAxNywgLy8gMHgwMDAwMDAxMVxuICAgIFJlbWluZGVySW5mbyA9IDE4LCAvLyAweDAwMDAwMDEyXG4gICAgUmljaFN0cmluZ0luZm8gPSAxOSwgLy8gMHgwMDAwMDAxM1xuICAgIENvbnZlcnRDb21tYW5kSW5mbyA9IDIwLCAvLyAweDAwMDAwMDE0XG4gICAgUmVsYXRpb25JbmZvU2luZ2xlUmV2ZXJzZV9Ba3NUYWtpTGlzdGkgPSAyMSwgLy8gMHgwMDAwMDAxNVxuICAgIERpYWxDb21tYW5kSW5mbyA9IDIyLCAvLyAweDAwMDAwMDE2XG4gICAgRmluZENvbnRhY3RDb21tYW5kSW5mbyA9IDIzLCAvLyAweDAwMDAwMDE3XG4gICAgU2VxdWVuY2VDb21tYW5kSW5mbyA9IDI0LCAvLyAweDAwMDAwMDE4XG4gICAgQ3VycmVuY3lJbmZvID0gMjUsIC8vIDB4MDAwMDAwMTlcbiAgICBTaW5nbGVQaWN0dXJlSW5mbyA9IDI2LCAvLyAweDAwMDAwMDFBXG4gICAgV29yZFJlcG9ydENvbW1hbmRJbmZvID0gMjcsIC8vIDB4MDAwMDAwMUJcbiAgICBIaWVyYXJjaGljYWxJbmZvID0gMjgsIC8vIDB4MDAwMDAwMUNcbiAgICBUaW1lU3BhbkluZm8gPSAyOSwgLy8gMHgwMDAwMDAxRFxuICAgIFJlcG9ydEluZm8gPSAzMCwgLy8gMHgwMDAwMDAxRVxuICAgIEZpbGVJbmZvID0gMzEsIC8vIDB4MDAwMDAwMUZcbiAgICBXb3JkRmlsZUluZm8gPSAzMiwgLy8gMHgwMDAwMDAyMFxuICAgIFBpY3R1cmVGaWxlSW5mbyA9IDMzLCAvLyAweDAwMDAwMDIxXG4gICAgR2F1Z2VJbmZvID0gMzQsIC8vIDB4MDAwMDAwMjJcbiAgICBDb2RlSW5mbyA9IDM1LCAvLyAweDAwMDAwMDIzXG4gICAgV29ya0NlbnRlckluZm8gPSAzNiwgLy8gMHgwMDAwMDAyNFxuICAgIElzRGVsZXRlZEluZm8gPSAzNywgLy8gMHgwMDAwMDAyNVxuICAgIFJvd051bWJlckluZm8gPSAzOCwgLy8gMHgwMDAwMDAyNlxuICAgIEJpbmFyeUluZm8gPSAzOSwgLy8gMHgwMDAwMDAyN1xuICAgIFJldmVyc2VNZXRhT2JqZWN0SW5mb19Ba3NUYWtpVGFraSA9IDQwLCAvLyAweDAwMDAwMDI4XG4gICAgQ29sb3JJbmZvID0gNDEsIC8vIDB4MDAwMDAwMjlcbiAgICBJY29uSW5mbyA9IDQyLCAvLyAweDAwMDAwMDJBXG4gICAgUmVmcmVzaEZpZWxkQ29tbWFuZEluZm8gPSA0MywgLy8gMHgwMDAwMDAyQlxuICAgIFJlZmVyZW5jZUZpZWxkSW5mbyA9IDQ0LCAvLyAweDAwMDAwMDJDXG4gICAgU2VhcmNoQ29tbWFuZEluZm8gPSA0NSwgLy8gMHgwMDAwMDAyRFxuICAgIE9yZGVySW5mbyA9IDQ2IC8vIDB4MDAwMDAwMkVcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NOYW1lc01vZGVsIHtcbiAgICBDb21tYW5kQmFyQ2xhc3M6IHN0cmluZztcbiAgICBEYXRhQ2xhc3M6IHN0cmluZztcbiAgICBTZWxlY3Rpb25DbGFzczogc3RyaW5nO1xuICAgIFZpZXdlckNsYXNzOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhTW9kZWwge1xuICAgIEN1c3RvbUNvbW1hbmRzPzogQ3VzdG9tQ29tbWFuZFtdO1xuICAgIERlZmF1bHRDb21tYW5kc0FjY2Vzcz86IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBQYXJlbnRVbHZDb25maWc/OiBhbnk7XG4gICAgUmVsYXRpb24/OiBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZXBvcnQ/OiBSZXBvcnRFeHRyYUluZm87XG4gICAgRXh0cmFKc29uUHJvcFJlcG9ydD86IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgQ2xhc3NOYW1lczogQ2xhc3NOYW1lc01vZGVsO1xuICAgIEV4dHJhOiBFeHRyYU1vZGVsO1xuICAgIFZpZXc6IFZpZXdUeXBlcztcbiAgICBTZWFyY2hQYW5lbDogYW55O1xuICAgIERlZmF1bHRJdGVtQ29tcG9uZW50ID0gJ1JlcG9ydERlZmF1bHRJdGVtQ29tcG9uZW50Jztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdENvbW1hbmRzQWNjZXNzIHtcbiAgICBBZGQ6IGJvb2xlYW47XG4gICAgQWRkVG9MaXN0OiBib29sZWFuO1xuICAgIERlbGV0ZTogYm9vbGVhbjtcbiAgICBFZGl0OiBib29sZWFuO1xuICAgIEV4cG9ydDogYm9vbGVhbjtcbiAgICBQcmludDogYm9vbGVhbjtcbiAgICBSZWZyZXNoOiBib29sZWFuO1xuICAgIFJlbW92ZUZyb21MaXN0OiBib29sZWFuO1xuICAgIFZpZXc6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tbWFuZCB7XG4gICAgRGF0YTogYW55O1xuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgSGlkZURpc2FibGU6IGJvb2xlYW47XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIElzTGFyZ2U6IGJvb2xlYW47XG4gICAgTXl0eXBlOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjtcbiAgICBTaG93T25Db250ZXh0OiBib29sZWFuO1xuICAgIFNob3dPblRvb2xiYXI6IGJvb2xlYW47XG4gICAgVGV4dDogc3RyaW5nO1xuICAgIFVzZUFsd2F5czogYm9vbGVhbjtcbiAgICBVc2VGb3JNdWx0aTogYm9vbGVhbjtcbiAgICBVc2VGb3JTaW5nbGU6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIERhdGE6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFJlcG9ydExpc3RNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogR3JpZFZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0Rm9ybU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBGb3JtVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVZpZXcge1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgUGFyZW50SWREYk5hbWU6IHN0cmluZztcbiAgICBTaG93U2VsZWN0aW9uQ2hlY2tzOiBib29sZWFuO1xuICAgIFRyZWVBdXRvT3BlbkxldmVsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRWaWV3IHtcbiAgICBBbGxvd0dyaWRDb2x1bW5Tb3J0OiBib29sZWFuO1xuICAgIEF1dG9JbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XG4gICAgQ29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47XG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcbiAgICBEaXNhYmxlUm93UmVsb2FkOiBib29sZWFuO1xuICAgIEdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcbiAgICBHcmlkX0ZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XG4gICAgR3JpZF9HcmlkTGluZXM6IHN0cmluZztcbiAgICBHcmlkX0hpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgR3JpZF9TaG93Um93TnVtYmVyOiBib29sZWFuO1xuICAgIEhhc0NvbmRpdGlvbmFsRm9ybWF0OiBib29sZWFuO1xuICAgIEhhc1N1bW1hcnlSb3c6IGJvb2xlYW47XG4gICAgSGlkZUljb246IGJvb2xlYW47XG4gICAgSXNDaGVja0xpc3Q6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlldyB7XG4gICAgQ2FsZW5kYXJGaWVsZHM6IENhbGVuZGFyRmllbGRzO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlldyB7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogYW55O1xufVxuZXhwb3J0IHR5cGUgVmlld1R5cGVzID0gR3JpZFZpZXcgfCBDYWxlbmRhclZpZXcgfCBUcmVlVmlldyB8IEZvcm1WaWV3O1xuXG5leHBvcnQgdHlwZSBSZXBvcnRNb2RlbFR5cGVzID0gUmVwb3J0TGlzdE1vZGVsIHwgUmVwb3J0Q2FsZW5kYXJNb2RlbCB8IFJlcG9ydEZvcm1Nb2RlbCB8IFJlcG9ydFRyZWVNb2RlbDtcblxuZXhwb3J0IGNsYXNzIFJlcG9ydENhbGVuZGFyTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IENhbGVuZGFyVmlldztcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IFRyZWVWaWV3O1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckZpZWxkcyB7XG4gICAgRW5kRGF0ZTogc3RyaW5nO1xuICAgIE5vdGVzOiBzdHJpbmc7XG4gICAgU3RhcnREYXRlOiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBDb2xvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0NvbHVtbiB7XG4gICAgQWxpYXM6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRmllbGREZWZJZDogc3RyaW5nO1xuICAgIEZpZWxkVHlwZUlkOiBudW1iZXI7XG4gICAgRmllbGRUeXBlOiBzdHJpbmc7XG4gICAgSGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgSXNQcmV2aWV3OiBib29sZWFuO1xuICAgIE1ldGFGaWVsZFR5cGVJZDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIFRhZz86IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgT25seUltYWdlPzogYm9vbGVhbjtcbiAgICBFeHRyYT86IGFueTtcbiAgICAkV2lkdGg6IHN0cmluZztcbiAgICAkV2lkdGgyPzogc3RyaW5nO1xuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xuICAgICRDU1NDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgJEN1c3RvbUNvbXBvbmVudD86IEVqcmF5T2xnbztcbiAgICAkVGV4dFdpZHRoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgR3JpZFNldHRpbmcge1xuICAgIENvbFNldHRpbmdMaXN0OiBBcnJheTxDb2xTZXR0aW5nPjtcbiAgICBTb3J0U2V0dGluZ0xpc3Q6IEFycmF5PFNvcnRTZXR0aW5nPjtcbiAgICBBdXRvU2l6ZUNvbHVtbnM6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgQ29sU2V0dGluZyB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFdpZHRoOiBudW1iZXI7XG4gICAgSXNIaWRkZW46IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgU29ydFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBTb3J0RGlyZWN0aW9uOiBzdHJpbmc7XG4gICAgSXNHcm91cGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUmVwb3J0RmllbGQge1xuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcbiAgICBwdWJsaWMgY2FwdGlvbjogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4sIHB1YmxpYyBpdGVtOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbHVtbi5OYW1lO1xuICAgICAgICB0aGlzLmNhcHRpb24gPSBjb2x1bW4uQ2FwdGlvbjtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lXTtcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5EYXRlSW5mbykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lICsgJyRDYXB0aW9uJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5JY29uSW5mbykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lXS5Vcmw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHQge1xuICAgIGRhdGE6IHsgc3RoOiBzdHJpbmcgfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBQbGFjZUhvbGRlcnM/OiBQbGFjZUhvbGRlckRhdGFNb2RlbFtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBTZWxlY3Rvcjogc3RyaW5nO1xuICAgIFNldHRpbmdzOiBDb21wb25lbnRTZXR0aW5nc0RhdGFNb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VIb2xkZXJEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJc1BhZ2U6IGJvb2xlYW47XG4gICAgT3JkZXJOdW1iZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFBsYWNlSG9sZGVyOiBQbGFjZUhvbGRlckRhdGFNb2RlbDtcbiAgICBDb21wb25lbnQ6IENvbXBvbmVudERhdGFNb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PFBhZ2VEYXRhTW9kZWw+O1xufVxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNb2R1bGVEYXRhTW9kZWw+O1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG4gICAgTW9kdWxlTGlzdDogTW9kdWxlTGlzdFJlcG9ydE1vZGVsO1xuICAgIENoaWxkUGFnZUxpc3Q6IFBhZ2VMaXN0UmVwb3J0TW9kZWw7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBSb3V0ZTogc3RyaW5nO1xuICAgIElzRGVmYXVsdFJvdXRlOiBib29sZWFuO1xuICAgIElzTG9naW5Sb3V0ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxEYXRhTW9kZWwgZXh0ZW5kcyBQYWdlRGF0YU1vZGVsIHtcbiAgICBJc0FjdGl2ZTogYm9vbGVhbjtcbiAgICBJc1B3YTogYm9vbGVhbjtcbiAgICBQb3J0YWxTZXR0aW5nczogTWV0YW9iamVjdERhdGFNb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBWaXNpYmlsaXR5IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgdmlzaWJsZTogYm9vbGVhbjtcbiAgICByZWFkb25seTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVyTGF5b3V0IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBTdWJ0aXRsZTogc3RyaW5nO1xuICAgIEF2YXRhcjogYW55O1xuICAgIEZhY2V0TGlzdDogeyBNb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW51SXRlbSB7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpdGVtSWQ6IHN0cmluZztcbiAgICBEYXRhOiBhbnk7XG4gICAgQ29tbWFuZDogYW55O1xuICAgIGhhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgSXNCdWlsdGluPzogYm9vbGVhbjtcbiAgICBtZW51PzogeyBpdGVtczogTWVudUl0ZW1bXSB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdTZXR0aW5nIHtcbiAgICBFbmRJbmRleDogbnVtYmVyO1xuICAgIEhhc1BhZ2luZzogYm9vbGVhbjtcbiAgICBQYWdlOiBudW1iZXI7XG4gICAgUGFnZVNpemU6IG51bWJlcjtcbiAgICBSb3dDb3VudDogbnVtYmVyO1xuICAgIFN0YXJ0SW5kZXg6IG51bWJlcjtcbiAgICBUb3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgVG90YWxSb3dzOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkluZm9UeXBlIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIENhcHRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeT86IGJvb2xlYW47XG4gICAgV2lkdGg6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUGFuZWxTZXR0aW5ncyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSXNQdWJsaWM6IGJvb2xlYW47XG4gICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBib29sZWFuO1xuICAgIFNlYXJjaE1vPzogc3RyaW5nO1xuICAgIEZpZWxkc1NldHRpbmc/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIERldmljZVNpemUgPSAnZGVza3RvcCcgfCAnbW9iaWxlJyB8ICd0YWJsZXQnO1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZXMgPSBbXG4gICAgJ0RhdGVSX05vbmUnLFxuICAgICdEYXRlUl9TcGVjaWZpY1JhbmdlJyxcbiAgICAnRGF0ZVJfVG9kYXknLFxuICAgICdEYXRlUl9UaGlzV2VlaycsXG4gICAgJ0RhdGVSX1RoaXNNb250aCcsXG4gICAgJ0RhdGVSX1RoaXNZZWFyJyxcbiAgICAnRGF0ZVJfRGF5c0JlZm9yZScsXG4gICAgJ0RhdGVSX1ByZXZXZWVrJyxcbiAgICAnRGF0ZVJfUHJldk1vbnRoJyxcbiAgICAnRGF0ZVJfUHJldlllYXInLFxuICAgICdEYXRlUl9EYXlzQWZ0ZXInLFxuICAgICdEYXRlUl9OZXh0V2VlaycsXG4gICAgJ0RhdGVSX05leHRNb250aCcsXG4gICAgJ0RhdGVSX05leHRZZWFyJ1xuXTtcblxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlIHtcbiAgICBVaUNvbXBvbmVudDoge1xuICAgICAgICBDb21wb25lbnQ6IGJvb2xlYW47XG4gICAgICAgIE1vZHVsZTogc3RyaW5nO1xuICAgICAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICBOYW1lOiBzdHJpbmc7XG4gICAgICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgICAgIFNldHRpbmdzOiBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZztcbiAgICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBFbmFibGVTZWFyY2g6IGJvb2xlYW47XG4gICAgRGlzYWJsZVJlc3BvbnNpdmU/OiBib29sZWFuO1xuICAgIERpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51PzogYm9vbGVhbjtcbiAgICBIb3Jpem9udGFsR3JvdXBCeTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVGl0bGU/OiBzdHJpbmc7XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XG4gICAgaXRlbXM6IExheW91dFNldHRpbmdbXTtcbiAgICBJc1Jvb3Q/OiBib29sZWFuO1xuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XG5leHBvcnQgaW50ZXJmYWNlIFRyZWVOb2RlT2JqIHtcbiAgICBpc0V4cGFuZDogYm9vbGVhbjtcbiAgICB2aXNpYmlsaXR5OiBib29sZWFuO1xuICAgIGV4cGFuZDogKCkgPT4gdm9pZDtcbiAgICBjb2xsYXBzZTogKCkgPT4gdm9pZDtcbiAgICBEYXRhOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xuICAgIGljb246IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbiAgICBsZWFmOiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIGxvYWRpbmc/OiBib29sZWFuO1xuICAgIGhhc09uZURlcHRoTGV2ZWw/OiBib29sZWFuO1xuICAgIHBhcmVudE5vZGU6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBmaXJzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgbGFzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgcHJldmlvdXNTaWJsaW5nOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgbmV4dFNpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBhdHRyaWJ1dGVzOiB7IERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsIH07XG4gICAgaGFzQ2hpbGROb2RlczogKCkgPT4gYm9vbGVhbjtcbiAgICBub0Ryb3A6IGJvb2xlYW47XG4gICAgJENoaWxkcmVuPzogVHJlZU5vZGVPYmpbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5SZXNpemVkQXJncyB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHdpZHRoOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyA9IHsgY29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47IHJlc2l6ZWQ6IEFycmF5PENvbHVtblJlc2l6ZWRBcmdzPiB9O1xuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcbiAgICBJZDogc3RyaW5nO1xuICAgIFNvdXJjZVR5cGVEZWZJZDogc3RyaW5nO1xuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XG4gICAgR3JvdXBDYXB0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVqcmF5T2xnbyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIE1vZHVsZTogc3RyaW5nO1xuICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgUGFyYW1ldGVycz86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgU2V0dGluZ3M/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRpbmdTdGF0ZSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xuICAgIHN0YXRlOiAnVXBsb2FkaW5nJyB8ICdFcnJvcicgfCAnQ29tcGxldGUnIHwgJ1N0YXJ0JztcbiAgICBwcm9ncmVzczogYW55O1xufVxuZXhwb3J0IHR5cGUgR3JvdXBCeUl0ZW0gPSB7IFtrZXk6IHN0cmluZ106IGFueTsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xuZXhwb3J0IHR5cGUgTm90aWZ5T3B0aW9ucyA9IHtcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxuICAgIEltYWdlOiBzdHJpbmcgfCBudWxsOyAvLyBJbWFnZSBzb3VyY2Ugc3RyaW5nXG4gICAgVGl0bGU6IHN0cmluZyB8IG51bGw7IC8vIFRpdGxlIG9mIG5vdGlmaWNhdGlvbi4gSWYgeW91IGRvIG5vdCBpbmNsdWRlIHRoZSB0aXRsZSBpbiBvcHRpb25zIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlcyBpdHMgdmFsdWVcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xuICAgIERlbGF5OiBudW1iZXI7IC8vIEhpZGUgbm90aWZpY2F0aW9uIGFmdGVyIHRoaXMgdGltZSAoaW4gbWlsaXNlY29uZHMpXG4gICAgQ2xvc2FibGU6IGJvb2xlYW47IC8vIE1ha2Ugbm90aWZpY2F0aW9ucyBjbG9zYWJsZVxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxuICAgIENsb3NlT25DbGljazogYm9vbGVhbjsgLy8gQ2xvc2Ugbm90aWZpY2F0aW9ucyBieSBjbGlja2luZyBvbiB0aGVtXG4gICAgSXNSdGw6IGJvb2xlYW47XG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcbiAgICBTb3VuZFBhdGg6IHN0cmluZzsgLy8gVGhlIGZvbGRlciBwYXRoIHdoZXJlIHNvdW5kcyBhcmUgbG9jYXRlZFxuICAgIFNpemU6IHN0cmluZzsgLy8gbm9ybWFsLCBtaW5pLCBsYXJnZVxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXG4gICAgV2lkdGg6IG51bWJlcjsgLy8gV2lkdGggb2Ygbm90aWZpY2F0aW9uIGJveFxuICAgIE1lc3NhZ2VIZWlnaHQ6IG51bWJlcjsgLy8gTm90aWZpY2F0aW9uIG1lc3NhZ2UgbWF4aW11bSBoZWlnaHQuXG4gICAgTm90aWZpY2F0aW9uSXRlbT86IE5vdGlmaWNhdGlvbkl0ZW07XG59O1xuZXhwb3J0IHR5cGUgU2hhcmVCdXR0b25zQ2hvaWNlRGVmID0geyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW107IGFkZDogYm9vbGVhbiB9O1xuZXhwb3J0IHR5cGUgQ2hvaWNlRGVmID0ge1xuICAgIEFjdGl2aXR5RGVmSWQ6IHN0cmluZztcbiAgICBBY3Rpdml0eVJ1bklkOiBzdHJpbmc7XG4gICAgQ2hvaWNlRGVmSWQ6IHN0cmluZztcbiAgICBDaG9pY2VOYW1lPzogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSWNvbj86IHN0cmluZztcbiAgICBIYXNCYXI/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cyA9IHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIHJlc3VsdDogYW55O1xuICAgIGVycm9yOiBhbnk7XG4gICAgY2hvaWNlPzogQ2hvaWNlRGVmO1xufTtcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblBheWxvYWQgPSB7XG4gICAgbXNnOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgaW1hZ2U6IHN0cmluZztcbiAgICBtbztcbiAgICB1aU9wdGlvbnM6IE5vdGlmeU9wdGlvbnM7XG4gICAgb3RoZXJPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkFjdGlvbiA9IHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIElkOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIFN0YXR1czogc3RyaW5nIHwgYW55O1xufTtcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkl0ZW0gPSBNZXRhb2JqZWN0RGF0YU1vZGVsICYge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgVW5yZWFkOiBib29sZWFuO1xuICAgIENvbnRlbnQ6IHN0cmluZztcbiAgICAkU2FmZUNvbnRlbnQ/OiBTYWZlSHRtbDtcbiAgICBQcmlvcml0eTogbnVtYmVyO1xuICAgIFN1YmplY3Q6IHN0cmluZztcbiAgICBUYWc6IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgSW1hZ2U6IHN0cmluZztcbiAgICBDcmVhdGlvbkRhdGU6IERhdGU7XG4gICAgQ3JlYXRpb25EYXRlJENhcHRpb246IHN0cmluZztcbiAgICBVaUFjdGlvbnM/OiBOb3RpZmljYXRpb25BY3Rpb25bXTtcbiAgICAkQ2hvaWNlRGVmU3RhdHVzPzogV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzO1xufTtcblxuZXhwb3J0IHR5cGUgRXhOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICAgIGxhbmc6IHN0cmluZztcbiAgICBpc1J0bDogYm9vbGVhbjtcbiAgICBub3RpZmljYXRpb25JdGVtOiBOb3RpZmljYXRpb25JdGVtO1xufTtcbmV4cG9ydCB0eXBlIEZvcm1WaXNpYmlsaXR5U3RhdHVzID0gJ1BlbmRpbmcnIHwgJ1Zpc2libGUnO1xuZXhwb3J0IHR5cGUgQ2FydGFibGVUZW1wbGF0ZUtleSA9IHsgVHlwZURlZklkOiBzdHJpbmc7IFNldHRpbmdzSWQ6IHN0cmluZyB9O1xuZXhwb3J0IGVudW0gU29ydERpcmVjdGlvbiB7XG4gICAgTk9ORSA9ICdub25lJyxcbiAgICBBU0MgPSAnYXNjJyxcbiAgICBERVNDID0gJ2Rlc2MnXG59XG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Tb3J0IHtcbiAgICBmaWVsZDogc3RyaW5nIHwgbnVsbDtcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gICAgaXNOdW1iZXI/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hJbnB1dCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGNhdGVnb3J5OiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uR3JvdXAge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICAgIHNob3dBc0NvbHVtbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uUGFnZSB7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25TdGF0ZSB7XG4gICAgc29ydEJ5OiBDb2xsZWN0aW9uU29ydFtdO1xuICAgIGdyb3VwQnk6IENvbGxlY3Rpb25Hcm91cFtdO1xuICAgIHBhZ2U6IENvbGxlY3Rpb25QYWdlO1xuICAgIHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVN0YXRlIGV4dGVuZHMgQ29sbGVjdGlvblN0YXRlIHtcbiAgICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgICBjb2x1bW5LZXlzOiBzdHJpbmdbXTtcbiAgICBmcmVlemVUb0NvbHVtbjogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBlbnVtIFNlbGVjdGlvbk1vZGUge1xuICAgIFNJTkdMRSA9ICdzaW5nbGUnLFxuICAgIE1VTFRJUExFID0gJ211bHRpcGxlJyxcbiAgICBOT05FID0gJ25vbmUnXG59XG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZNYWluQ3RybHIge1xuICAgIEFkYXB0ZXI6IGFueTtcbiAgICBTZXR0aW5nOiBhbnk7XG4gICAgU3lzdGVtOiBhbnk7XG4gICAgVWx2UGFyYW1zOiBhbnk7XG4gICAgRmVhdHVyZXM6IGFueTtcbiAgICBVaU92ZXJyaWRlOiBhbnk7XG4gICAgU2VhcmNoUGFuZWxDdHJscjogYW55O1xuICAgIFNlbGVjdGlvbkFkYXB0ZXI6IGFueTtcbiAgICBEYXRhQ3RybHI6IFR5cGVVbHZEYXRhQ3RybHI7XG4gICAgQ29tbWFuZEJhckN0cmxyOiBhbnk7XG4gICAgVmlld2VyQWRhcHRlcjogYW55O1xuICAgIFBhcmVudE1vOiBhbnk7XG4gICAgRmllbGRDdHJscjogYW55O1xuICAgIGlzTWFuZGF0b3J5OiBib29sZWFuOyAvLyBwb3J0YWwgdXNlIGl0LiBjb21wb25lbnQgbWFkYXJla1xuICAgIC8vLyBSZWxhdGVkIGZpZWxkIG9mIFVsdlxuICAgIC8vIFBhcmVudEZpZWxkSW5mb0N0cmxyOiBudWxsLFxuICAgIElzUHJldmlld1NvdXJjZUZpZWxkOiBib29sZWFuO1xuICAgIC8vLyBJbmRpY2F0ZSB3aGV0aGVyIHRoaXMgVWx2IGlzIHVzZWQgYXMgcmVsYXRpb24gZmllbGQgdGhhdCBpcyBQcmV2aWV3U291cmNlIGZvciBhIHN1YmZvcm1cbiAgICBTaG93T2tDYW5jZWxCdXR0b25zOiBib29sZWFuO1xuICAgIF9pc0VuYWJsZTogYm9vbGVhbjtcbiAgICBfaXNSZWFkT25seTogYm9vbGVhbjtcbiAgICBfaXNWaXNpYmxlOiBib29sZWFuO1xuICAgIEZvb3R0ZXJCdXR0b25zOiBib29sZWFuO1xuICAgIFJlZnJlc2hSb3dzQnlNb3NOb1NlbGVjdGlvbkNoYW5nZShcbiAgICAgICAgZWRpZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGFkZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGRlbGV0ZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXVxuICAgICk6IHZvaWQ7XG4gICAgUmVmcmVzaFJvd3NCeU1vcyhcbiAgICAgICAgZWRpZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGFkZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGRlbGV0ZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXVxuICAgICk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVVsdkRhdGFDdHJsciB7XG4gICAgR2V0RWRpdEZvcm1QYXJhbXMobW8sIGlzUmVhZE9ubHksIGlzTmV3LCBpbmhlcml0YW5jZUNoaWxkVHlwZURlZiwgZG9SZXR1cm4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtQ29tcG9uZW50UGFyYW1zIHtcbiAgICBmb3JtU2V0dGluZz86IEZvcm1TZXR0aW5nO1xuICAgIG1vSWQ6IHN0cmluZztcbiAgICB0eXBlRGVmSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICByZXBvcnRJZD86IHN0cmluZztcbiAgICB2aWV3SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgVmlld05hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaW5EaWFsb2c/OiBib29sZWFuO1xuICAgIGlzU2ltcGxlPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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QU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERhdGVJbmZvIGFzIERhdGVJbmZvU2VydmljZSB9IGZyb20gJy4uL2RhdGUtc2VydmljZXMnO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XG4gICAgSGlkZTogYm9vbGVhbjtcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XG4gICAgU2hvd0xhYmVsID0gdHJ1ZTtcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcbiAgICBJc0JvbGQ6IGJvb2xlYW47XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcbiAgICBDb21wb25lbnQ6IHN0cmluZztcbiAgICBJbmZvOiBDb250cm9sSW5mb1R5cGVzO1xuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xuICAgIElzTHRyOiBib29sZWFuO1xuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZpbGVBdHRhY2htZW50SW5mbyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElkOiBzdHJpbmc7XG4gICAgSXNOZXc6IGJvb2xlYW47XG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBGaWxlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1heExlbmd0aDogbnVtYmVyO1xuICAgIE1pbkxlbmd0aDogbnVtYmVyO1xuICAgIFJlZ3VsYXJFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgSXNQYXNzd29yZDogYm9vbGVhbjtcbiAgICBJc011bHRpTGluZTogYm9vbGVhbjtcbiAgICBOdWxsVGV4dDogc3RyaW5nO1xuICAgIEFsbG93ZWRTdHJpbmdDaGFyczogc3RyaW5nO1xuICAgIE9ubHlBY2NlcHRDdXJyZW50Q3VsdHVyZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBSaWNoU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzSHRtbFZpZXdlcjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBOdW1iZXJDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBEZWNpbWFsUHJlY2lzaW9uOiBudW1iZXI7XG4gICAgU2hvd1Rob3VzYW5kU2VwZXJhdG9yOiBib29sZWFuO1xuICAgIE51bWJlclR5cGU6IHN0cmluZztcbiAgICBDdXJyZW5jeVN5bWJvbDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEZpbGVQaWN0dXJlSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEV4dDogc3RyaW5nO1xuICAgIEZpbGVJZDogc3RyaW5nO1xuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDYW5EZWxldGU6IGJvb2xlYW47XG4gICAgQ2FuU2F2ZTogYm9vbGVhbjtcbiAgICBDYW5WaWV3OiBib29sZWFuO1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgTWF4RmlsZUNvdW50OiBudW1iZXI7XG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xuICAgIE9mZmljZU9ubGluZTogYm9vbGVhbjtcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1lbnVOYW1lOiBzdHJpbmc7XG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xuICAgIER5bmFtaWNDb21tYW5kOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgSWNvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7fVxuZXhwb3J0IGNsYXNzIFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBTaXplTW9kZTogbnVtYmVyO1xuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBHYXVnZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBNYXhWYWx1ZTI6IG51bWJlcjtcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xuICAgIE1pblZhbHVlMjogbnVtYmVyO1xuICAgIFZhbHVlOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBSZWxhdGlvbkxpc3RUeXBlcyA9XG4gICAgfCBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsXG4gICAgfCBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbFxuICAgIHwgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsXG4gICAgfCBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWw7XG5leHBvcnQgY2xhc3MgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XG59XG5leHBvcnQgY2xhc3MgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XG4gICAgQXV0b1NhdmU7XG59XG5leHBvcnQgY2xhc3MgUmVsYXRlZFJlcG9ydENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xufVxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEV4dHJhVGV4dDogc3RyaW5nO1xuICAgIFN1Z2dlc3Rpb25zOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRW51bUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBTaG93QXNSYWRpb0J1dHRvbjogYm9vbGVhbjtcbiAgICBJY29uRGlzcGxheVR5cGU6IHN0cmluZztcbiAgICBEYXRhU291cmNlOiB7XG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcbiAgICB9O1xuICAgIEVtcHR5Um93RGF0YTogUm93RGF0YU9wdGlvbjtcbn1cbmV4cG9ydCBjbGFzcyBSb3dEYXRhT3B0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIElzRW1wdHk6IGJvb2xlYW47XG4gICAgdHh0OiBzdHJpbmc7XG4gICAgdHh0X3NhZmU/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENhbGVuZGFyVHlwZTogc3RyaW5nO1xuICAgIERhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBTaG93RGF0ZTE6IGJvb2xlYW47XG4gICAgU2hvd1RpbWUxOiBib29sZWFuO1xuICAgIFRpbWVGb3JtYXQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBCb29sQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBGYWxzZUNhcHRpb246IHN0cmluZztcbiAgICBUcnVlQ2FwdGlvbjogc3RyaW5nO1xuICAgIFRydWVJY29uOiBzdHJpbmc7XG4gICAgVmlld1R5cGU6IHN0cmluZztcbiAgICBGYWxzZUljb246IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElubmVyQ3RybHI6IENvbnRyb2xJbmZvVHlwZXM7XG4gICAgRXhlY3V0YWlvblRpbWU6IHN0cmluZztcbiAgICBFZGl0VHlwZTogc3RyaW5nO1xuICAgIERvbnRTaG93UmVjYWxjdWxhdGVCdXR0b246IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgVHlwZURlZklkOiBhbnk7XG4gICAgVHlwZURlZkljb246IHN0cmluZztcbiAgICBJc0NvbXBvc2VkUmVsYXRpb246IHN0cmluZztcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XG4gICAgVHlwZVZpZXdJZDogc3RyaW5nO1xuICAgIEZvcm1QYW5lbFNldHRpbmc6IEZvcm1TZXR0aW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvIHtcbiAgICBmaWxlSWQ6IHN0cmluZztcbiAgICBmaWxlVXJsOiBzdHJpbmc7XG4gICAgdmlld0luQnJvd3NlcjogYm9vbGVhbjtcbiAgICBjb252ZXJ0VG86IHN0cmluZztcbiAgICBpc09mZmljZU9ubGluZTogYm9vbGVhbjtcbiAgICBmb3JPY3g6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm9SZXN1bHQge1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gICAgc3VjY2VlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBMaW5lYXJMaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBEZWZhdWx0RmllbGQ6IHN0cmluZztcbiAgICBFeHRyYUpzb25Qcm9wRmllbGQ6IHN0cmluZztcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XG4gICAgSXNHZW5lcmFsSW5mbzogYm9vbGVhbjtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIFJlbGF0aW9uOiBMaXN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgUm93SWNvbjogc3RyaW5nO1xuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIExpc3RSZWxhdGlvbk1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcbiAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgIFBhcmVudE1vSWQ6IHN0cmluZztcbiAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xuICAgIEhpZGVDb21ibzogYm9vbGVhbjtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgUGFzc1BhcmVudEZvcm06IGJvb2xlYW47XG4gICAgU2hvd05ld0J1dHRvbjogYm9vbGVhbjtcbiAgICBTaG93T2tDYW5jZWw6IGJvb2xlYW47XG4gICAgVmlld1JlbGF0ZWRGb3JtVHlwZTogc3RyaW5nO1xuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIERhdGFTb3VyY2U6IHtcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xuICAgIH07XG4gICAgUHJldmlld0ZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIFByZXZpZXdGaWVsZElkOiBzdHJpbmc7XG4gICAgUHJldmlld0ZpZWxkTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sSW5mb1R5cGVzID1cbiAgICB8IFN1YmZvcm1Db250cm9sSW5mb01vZGVsXG4gICAgfCBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBCb29sQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRW51bUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEljb25Db250cm9sSW5mb01vZGVsXG4gICAgfCBGaWxlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsXG4gICAgfCBOdW1iZXJDb250cm9sSW5mb01vZGVsXG4gICAgfCBTdHJpbmdDb250cm9sSW5mb01vZGVsXG4gICAgfCBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEdhdWdlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WaWV3U2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIExheW91dDk0OiBhbnk7XG4gICAgQ29udHJvbEluZm86IEdlbmVyYWxDb250cm9sSW5mb01vZGVsW107XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgRGF0YToge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIH07XG4gICAgVmlldzogRm9ybVZpZXdTZXR0aW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICRGaWVsZERpY3Q/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgICRSZXBvcnRJZD86IHN0cmluZztcbiAgICAkVHlwZT86IHN0cmluZztcbiAgICAkU3R5bGVJbmRleD86IG51bWJlcltdO1xuICAgICRDYXB0aW9uOiBzdHJpbmc7XG4gICAgJEljb24/OiBzdHJpbmc7XG4gICAgJFN0YXRlPzogc3RyaW5nO1xuICAgICRUeXBlRGVmSWQ/OiBzdHJpbmc7XG4gICAgJFR5cGVEZWZOYW1lPzogc3RyaW5nO1xuICAgICRDaGlsZHJlbj86IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBJbmhlcml0YW5jZUluZm8/OiB7XG4gICAgICAgIENoaWxkRmllbGROYW1lOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZpZWxkTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIENhbGVuZGFyTWV0YW9iamVjdERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgICRDb2xvcjogc3RyaW5nO1xuICAgICRNb21lbnRTdGFydERhdGU6IHN0cmluZztcbiAgICAkTW9tZW50RW5kRGF0ZTogc3RyaW5nO1xuICAgICRTdGFydFRpbWVzOiBzdHJpbmc7XG4gICAgJEVuZFRpbWVzOiBzdHJpbmc7XG4gICAgJFRpdGxlOiBzdHJpbmc7XG4gICAgJE5vdGVzOiBzdHJpbmc7XG4gICAgJFN0YXJ0RGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XG4gICAgJEVuZERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xufVxuXG5leHBvcnQgY2xhc3MgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgJFR5cGU/OiBzdHJpbmc7XG4gICAgVHlwZURlZklkOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJY29uPzogc3RyaW5nO1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xuICAgIERlbGV0ZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xuICAgIEFkZGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBQYWdpbmc6IFBhZ2luZ1NldHRpbmc7XG4gICAgUmVsYXRpb24/OiB7XG4gICAgICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xuICAgICAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xuICAgICAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFBhcmVudEZvcm1zOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFJvb3RQYXJlbnRMaXN0OiBib29sZWFuO1xuICAgIH07XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuRGVsZXRlZExpc3QgPSB0aGlzLkFkZGVkTGlzdCA9IHRoaXMuTW9EYXRhTGlzdCA9IFtdO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRCYXNlSW5mbyB7XG4gICAgSWQ6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRm9sZGVySWQ6IHN0cmluZztcbiAgICBJY29uVXJsOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0RXh0cmFJbmZvIGV4dGVuZHMgUmVwb3J0QmFzZUluZm8ge1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFR5cGVEZWZDYXB0aW9uOiBzdHJpbmc7XG4gICAgUmVwb3J0VHlwZTogc3RyaW5nO1xuICAgIEhpZGVUb29sYmFyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdFJlbGF0aW9uTW9kZWwgZXh0ZW5kcyBMaXN0UmVsYXRpb25Nb2RlbCB7XG4gICAgUGFyZW50RmRJZDogc3RyaW5nO1xuICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEZpZWxkSW5mb1R5cGVFbnVtIHtcbiAgICBJbnRJbmZvID0gMCxcbiAgICBTdHJpbmdJbmZvID0gMixcbiAgICBEYXRlSW5mbyA9IDMsXG4gICAgQm9vbEluZm8gPSA1LFxuICAgIEVudW1JbmZvID0gNixcbiAgICBVc2VySW5mbyA9IDcsXG4gICAgQ2F0ZWdvcnlJbmZvID0gOCxcbiAgICBNZXRhT2JqZWN0SW5mbyA9IDksXG4gICAgQ29tbWFuZEluZm8gPSAxMCwgLy8gMHgwMDAwMDAwQVxuICAgIFBpY3R1cmVzSW5mbyA9IDExLCAvLyAweDAwMDAwMDBCXG4gICAgUmVsYXRpb25JbmZvID0gMTIsIC8vIDB4MDAwMDAwMENcbiAgICBIaXN0b3J5SW5mbyA9IDEzLCAvLyAweDAwMDAwMDBEXG4gICAgUmVsYXRpb25JbmZvUmV2ZXJzZV9Ba3NMaXN0aSA9IDE0LCAvLyAweDAwMDAwMDBFXG4gICAgQ3JlYXRvclVzZXJJbmZvID0gMTUsIC8vIDB4MDAwMDAwMEZcbiAgICBDcmVhdGlvbkRhdGVJbmZvID0gMTYsIC8vIDB4MDAwMDAwMTBcbiAgICBMYXN0VXBkYXRlRGF0ZUluZm8gPSAxNywgLy8gMHgwMDAwMDAxMVxuICAgIFJlbWluZGVySW5mbyA9IDE4LCAvLyAweDAwMDAwMDEyXG4gICAgUmljaFN0cmluZ0luZm8gPSAxOSwgLy8gMHgwMDAwMDAxM1xuICAgIENvbnZlcnRDb21tYW5kSW5mbyA9IDIwLCAvLyAweDAwMDAwMDE0XG4gICAgUmVsYXRpb25JbmZvU2luZ2xlUmV2ZXJzZV9Ba3NUYWtpTGlzdGkgPSAyMSwgLy8gMHgwMDAwMDAxNVxuICAgIERpYWxDb21tYW5kSW5mbyA9IDIyLCAvLyAweDAwMDAwMDE2XG4gICAgRmluZENvbnRhY3RDb21tYW5kSW5mbyA9IDIzLCAvLyAweDAwMDAwMDE3XG4gICAgU2VxdWVuY2VDb21tYW5kSW5mbyA9IDI0LCAvLyAweDAwMDAwMDE4XG4gICAgQ3VycmVuY3lJbmZvID0gMjUsIC8vIDB4MDAwMDAwMTlcbiAgICBTaW5nbGVQaWN0dXJlSW5mbyA9IDI2LCAvLyAweDAwMDAwMDFBXG4gICAgV29yZFJlcG9ydENvbW1hbmRJbmZvID0gMjcsIC8vIDB4MDAwMDAwMUJcbiAgICBIaWVyYXJjaGljYWxJbmZvID0gMjgsIC8vIDB4MDAwMDAwMUNcbiAgICBUaW1lU3BhbkluZm8gPSAyOSwgLy8gMHgwMDAwMDAxRFxuICAgIFJlcG9ydEluZm8gPSAzMCwgLy8gMHgwMDAwMDAxRVxuICAgIEZpbGVJbmZvID0gMzEsIC8vIDB4MDAwMDAwMUZcbiAgICBXb3JkRmlsZUluZm8gPSAzMiwgLy8gMHgwMDAwMDAyMFxuICAgIFBpY3R1cmVGaWxlSW5mbyA9IDMzLCAvLyAweDAwMDAwMDIxXG4gICAgR2F1Z2VJbmZvID0gMzQsIC8vIDB4MDAwMDAwMjJcbiAgICBDb2RlSW5mbyA9IDM1LCAvLyAweDAwMDAwMDIzXG4gICAgV29ya0NlbnRlckluZm8gPSAzNiwgLy8gMHgwMDAwMDAyNFxuICAgIElzRGVsZXRlZEluZm8gPSAzNywgLy8gMHgwMDAwMDAyNVxuICAgIFJvd051bWJlckluZm8gPSAzOCwgLy8gMHgwMDAwMDAyNlxuICAgIEJpbmFyeUluZm8gPSAzOSwgLy8gMHgwMDAwMDAyN1xuICAgIFJldmVyc2VNZXRhT2JqZWN0SW5mb19Ba3NUYWtpVGFraSA9IDQwLCAvLyAweDAwMDAwMDI4XG4gICAgQ29sb3JJbmZvID0gNDEsIC8vIDB4MDAwMDAwMjlcbiAgICBJY29uSW5mbyA9IDQyLCAvLyAweDAwMDAwMDJBXG4gICAgUmVmcmVzaEZpZWxkQ29tbWFuZEluZm8gPSA0MywgLy8gMHgwMDAwMDAyQlxuICAgIFJlZmVyZW5jZUZpZWxkSW5mbyA9IDQ0LCAvLyAweDAwMDAwMDJDXG4gICAgU2VhcmNoQ29tbWFuZEluZm8gPSA0NSwgLy8gMHgwMDAwMDAyRFxuICAgIE9yZGVySW5mbyA9IDQ2IC8vIDB4MDAwMDAwMkVcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NOYW1lc01vZGVsIHtcbiAgICBDb21tYW5kQmFyQ2xhc3M6IHN0cmluZztcbiAgICBEYXRhQ2xhc3M6IHN0cmluZztcbiAgICBTZWxlY3Rpb25DbGFzczogc3RyaW5nO1xuICAgIFZpZXdlckNsYXNzOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhTW9kZWwge1xuICAgIEN1c3RvbUNvbW1hbmRzPzogQ3VzdG9tQ29tbWFuZFtdO1xuICAgIERlZmF1bHRDb21tYW5kc0FjY2Vzcz86IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBQYXJlbnRVbHZDb25maWc/OiBhbnk7XG4gICAgUmVsYXRpb24/OiBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZXBvcnQ/OiBSZXBvcnRFeHRyYUluZm87XG4gICAgRXh0cmFKc29uUHJvcFJlcG9ydD86IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgQ2xhc3NOYW1lczogQ2xhc3NOYW1lc01vZGVsO1xuICAgIEV4dHJhOiBFeHRyYU1vZGVsO1xuICAgIFZpZXc6IFZpZXdUeXBlcztcbiAgICBTZWFyY2hQYW5lbDogYW55O1xuICAgIERlZmF1bHRJdGVtQ29tcG9uZW50ID0gJ1JlcG9ydERlZmF1bHRJdGVtQ29tcG9uZW50Jztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdENvbW1hbmRzQWNjZXNzIHtcbiAgICBBZGQ6IGJvb2xlYW47XG4gICAgQWRkVG9MaXN0OiBib29sZWFuO1xuICAgIERlbGV0ZTogYm9vbGVhbjtcbiAgICBFZGl0OiBib29sZWFuO1xuICAgIEV4cG9ydDogYm9vbGVhbjtcbiAgICBQcmludDogYm9vbGVhbjtcbiAgICBSZWZyZXNoOiBib29sZWFuO1xuICAgIFJlbW92ZUZyb21MaXN0OiBib29sZWFuO1xuICAgIFZpZXc6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tbWFuZCB7XG4gICAgRGF0YTogYW55O1xuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgSGlkZURpc2FibGU6IGJvb2xlYW47XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIElzTGFyZ2U6IGJvb2xlYW47XG4gICAgTXl0eXBlOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjtcbiAgICBTaG93T25Db250ZXh0OiBib29sZWFuO1xuICAgIFNob3dPblRvb2xiYXI6IGJvb2xlYW47XG4gICAgVGV4dDogc3RyaW5nO1xuICAgIFVzZUFsd2F5czogYm9vbGVhbjtcbiAgICBVc2VGb3JNdWx0aTogYm9vbGVhbjtcbiAgICBVc2VGb3JTaW5nbGU6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIERhdGE6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFJlcG9ydExpc3RNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogR3JpZFZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0Rm9ybU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBGb3JtVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVZpZXcge1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgUGFyZW50SWREYk5hbWU6IHN0cmluZztcbiAgICBTaG93U2VsZWN0aW9uQ2hlY2tzOiBib29sZWFuO1xuICAgIFRyZWVBdXRvT3BlbkxldmVsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRWaWV3IHtcbiAgICBBbGxvd0dyaWRDb2x1bW5Tb3J0OiBib29sZWFuO1xuICAgIEF1dG9JbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XG4gICAgQ29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47XG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcbiAgICBEaXNhYmxlUm93UmVsb2FkOiBib29sZWFuO1xuICAgIEdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcbiAgICBHcmlkX0ZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XG4gICAgR3JpZF9HcmlkTGluZXM6IHN0cmluZztcbiAgICBHcmlkX0hpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgR3JpZF9TaG93Um93TnVtYmVyOiBib29sZWFuO1xuICAgIEhhc0NvbmRpdGlvbmFsRm9ybWF0OiBib29sZWFuO1xuICAgIEhhc1N1bW1hcnlSb3c6IGJvb2xlYW47XG4gICAgSGlkZUljb246IGJvb2xlYW47XG4gICAgSXNDaGVja0xpc3Q6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlldyB7XG4gICAgQ2FsZW5kYXJGaWVsZHM6IENhbGVuZGFyRmllbGRzO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlldyB7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogYW55O1xufVxuZXhwb3J0IHR5cGUgVmlld1R5cGVzID0gR3JpZFZpZXcgfCBDYWxlbmRhclZpZXcgfCBUcmVlVmlldyB8IEZvcm1WaWV3O1xuXG5leHBvcnQgdHlwZSBSZXBvcnRNb2RlbFR5cGVzID0gUmVwb3J0TGlzdE1vZGVsIHwgUmVwb3J0Q2FsZW5kYXJNb2RlbCB8IFJlcG9ydEZvcm1Nb2RlbCB8IFJlcG9ydFRyZWVNb2RlbDtcblxuZXhwb3J0IGNsYXNzIFJlcG9ydENhbGVuZGFyTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IENhbGVuZGFyVmlldztcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IFRyZWVWaWV3O1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckZpZWxkcyB7XG4gICAgRW5kRGF0ZTogc3RyaW5nO1xuICAgIE5vdGVzOiBzdHJpbmc7XG4gICAgU3RhcnREYXRlOiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBDb2xvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0NvbHVtbiB7XG4gICAgQWxpYXM6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRmllbGREZWZJZDogc3RyaW5nO1xuICAgIEZpZWxkVHlwZUlkOiBudW1iZXI7XG4gICAgRmllbGRUeXBlOiBzdHJpbmc7XG4gICAgSGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgSXNQcmV2aWV3OiBib29sZWFuO1xuICAgIE1ldGFGaWVsZFR5cGVJZDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIFRhZz86IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgT25seUltYWdlPzogYm9vbGVhbjtcbiAgICBFeHRyYT86IGFueTtcbiAgICAkV2lkdGg6IHN0cmluZztcbiAgICAkV2lkdGgyPzogc3RyaW5nO1xuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xuICAgICRDU1NDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgJEN1c3RvbUNvbXBvbmVudD86IEVqcmF5T2xnbztcbiAgICAkVGV4dFdpZHRoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgR3JpZFNldHRpbmcge1xuICAgIENvbFNldHRpbmdMaXN0OiBBcnJheTxDb2xTZXR0aW5nPjtcbiAgICBTb3J0U2V0dGluZ0xpc3Q6IEFycmF5PFNvcnRTZXR0aW5nPjtcbiAgICBBdXRvU2l6ZUNvbHVtbnM6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgQ29sU2V0dGluZyB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFdpZHRoOiBudW1iZXI7XG4gICAgSXNIaWRkZW46IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgU29ydFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBTb3J0RGlyZWN0aW9uOiBzdHJpbmc7XG4gICAgSXNHcm91cGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUmVwb3J0RmllbGQge1xuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcbiAgICBwdWJsaWMgY2FwdGlvbjogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4sIHB1YmxpYyBpdGVtOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbHVtbi5OYW1lO1xuICAgICAgICB0aGlzLmNhcHRpb24gPSBjb2x1bW4uQ2FwdGlvbjtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lXTtcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5EYXRlSW5mbykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lICsgJyRDYXB0aW9uJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5JY29uSW5mbykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lXS5Vcmw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHQge1xuICAgIGRhdGE6IHsgc3RoOiBzdHJpbmcgfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBQbGFjZUhvbGRlcnM/OiBQbGFjZUhvbGRlckRhdGFNb2RlbFtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBTZWxlY3Rvcjogc3RyaW5nO1xuICAgIFNldHRpbmdzOiBDb21wb25lbnRTZXR0aW5nc0RhdGFNb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VIb2xkZXJEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJc1BhZ2U6IGJvb2xlYW47XG4gICAgT3JkZXJOdW1iZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFBsYWNlSG9sZGVyOiBQbGFjZUhvbGRlckRhdGFNb2RlbDtcbiAgICBDb21wb25lbnQ6IENvbXBvbmVudERhdGFNb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PFBhZ2VEYXRhTW9kZWw+O1xufVxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNb2R1bGVEYXRhTW9kZWw+O1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG4gICAgTW9kdWxlTGlzdDogTW9kdWxlTGlzdFJlcG9ydE1vZGVsO1xuICAgIENoaWxkUGFnZUxpc3Q6IFBhZ2VMaXN0UmVwb3J0TW9kZWw7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBSb3V0ZTogc3RyaW5nO1xuICAgIElzRGVmYXVsdFJvdXRlOiBib29sZWFuO1xuICAgIElzTG9naW5Sb3V0ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxEYXRhTW9kZWwgZXh0ZW5kcyBQYWdlRGF0YU1vZGVsIHtcbiAgICBJc0FjdGl2ZTogYm9vbGVhbjtcbiAgICBJc1B3YTogYm9vbGVhbjtcbiAgICBQb3J0YWxTZXR0aW5nczogTWV0YW9iamVjdERhdGFNb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBWaXNpYmlsaXR5IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgdmlzaWJsZTogYm9vbGVhbjtcbiAgICByZWFkb25seTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVyTGF5b3V0IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBTdWJ0aXRsZTogc3RyaW5nO1xuICAgIEF2YXRhcjogYW55O1xuICAgIEZhY2V0TGlzdDogeyBNb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW51SXRlbSB7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpdGVtSWQ6IHN0cmluZztcbiAgICBEYXRhOiBhbnk7XG4gICAgQ29tbWFuZDogYW55O1xuICAgIGhhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgSXNCdWlsdGluPzogYm9vbGVhbjtcbiAgICBtZW51PzogeyBpdGVtczogTWVudUl0ZW1bXSB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdTZXR0aW5nIHtcbiAgICBFbmRJbmRleDogbnVtYmVyO1xuICAgIEhhc1BhZ2luZzogYm9vbGVhbjtcbiAgICBQYWdlOiBudW1iZXI7XG4gICAgUGFnZVNpemU6IG51bWJlcjtcbiAgICBSb3dDb3VudDogbnVtYmVyO1xuICAgIFN0YXJ0SW5kZXg6IG51bWJlcjtcbiAgICBUb3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgVG90YWxSb3dzOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkluZm9UeXBlIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIENhcHRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeT86IGJvb2xlYW47XG4gICAgV2lkdGg6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUGFuZWxTZXR0aW5ncyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSXNQdWJsaWM6IGJvb2xlYW47XG4gICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBib29sZWFuO1xuICAgIFNlYXJjaE1vPzogc3RyaW5nO1xuICAgIEZpZWxkc1NldHRpbmc/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIERldmljZVNpemUgPSAnZGVza3RvcCcgfCAnbW9iaWxlJyB8ICd0YWJsZXQnO1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZXMgPSBbXG4gICAgJ0RhdGVSX05vbmUnLFxuICAgICdEYXRlUl9TcGVjaWZpY1JhbmdlJyxcbiAgICAnRGF0ZVJfVG9kYXknLFxuICAgICdEYXRlUl9UaGlzV2VlaycsXG4gICAgJ0RhdGVSX1RoaXNNb250aCcsXG4gICAgJ0RhdGVSX1RoaXNZZWFyJyxcbiAgICAnRGF0ZVJfRGF5c0JlZm9yZScsXG4gICAgJ0RhdGVSX1ByZXZXZWVrJyxcbiAgICAnRGF0ZVJfUHJldk1vbnRoJyxcbiAgICAnRGF0ZVJfUHJldlllYXInLFxuICAgICdEYXRlUl9EYXlzQWZ0ZXInLFxuICAgICdEYXRlUl9OZXh0V2VlaycsXG4gICAgJ0RhdGVSX05leHRNb250aCcsXG4gICAgJ0RhdGVSX05leHRZZWFyJ1xuXTtcblxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlIHtcbiAgICBVaUNvbXBvbmVudDoge1xuICAgICAgICBDb21wb25lbnQ6IGJvb2xlYW47XG4gICAgICAgIE1vZHVsZTogc3RyaW5nO1xuICAgICAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICBOYW1lOiBzdHJpbmc7XG4gICAgICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgICAgIFNldHRpbmdzOiBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZztcbiAgICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBFbmFibGVTZWFyY2g6IGJvb2xlYW47XG4gICAgRGlzYWJsZVJlc3BvbnNpdmU/OiBib29sZWFuO1xuICAgIERpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51PzogYm9vbGVhbjtcbiAgICBIb3Jpem9udGFsR3JvdXBCeTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVGl0bGU/OiBzdHJpbmc7XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XG4gICAgaXRlbXM6IExheW91dFNldHRpbmdbXTtcbiAgICBJc1Jvb3Q/OiBib29sZWFuO1xuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XG5leHBvcnQgaW50ZXJmYWNlIFRyZWVOb2RlT2JqIHtcbiAgICBpc0V4cGFuZDogYm9vbGVhbjtcbiAgICB2aXNpYmlsaXR5OiBib29sZWFuO1xuICAgIGV4cGFuZDogKCkgPT4gdm9pZDtcbiAgICBjb2xsYXBzZTogKCkgPT4gdm9pZDtcbiAgICBEYXRhOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xuICAgIGljb246IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbiAgICBsZWFmOiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIGxvYWRpbmc/OiBib29sZWFuO1xuICAgIGhhc09uZURlcHRoTGV2ZWw/OiBib29sZWFuO1xuICAgIHBhcmVudE5vZGU6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBmaXJzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgbGFzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgcHJldmlvdXNTaWJsaW5nOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgbmV4dFNpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBhdHRyaWJ1dGVzOiB7IERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsIH07XG4gICAgaGFzQ2hpbGROb2RlczogKCkgPT4gYm9vbGVhbjtcbiAgICBub0Ryb3A6IGJvb2xlYW47XG4gICAgJENoaWxkcmVuPzogVHJlZU5vZGVPYmpbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5SZXNpemVkQXJncyB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHdpZHRoOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyA9IHsgY29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47IHJlc2l6ZWQ6IEFycmF5PENvbHVtblJlc2l6ZWRBcmdzPiB9O1xuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcbiAgICBJZDogc3RyaW5nO1xuICAgIFNvdXJjZVR5cGVEZWZJZDogc3RyaW5nO1xuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XG4gICAgR3JvdXBDYXB0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVqcmF5T2xnbyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIE1vZHVsZTogc3RyaW5nO1xuICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgUGFyYW1ldGVycz86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgU2V0dGluZ3M/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRpbmdTdGF0ZSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xuICAgIHN0YXRlOiAnVXBsb2FkaW5nJyB8ICdFcnJvcicgfCAnQ29tcGxldGUnIHwgJ1N0YXJ0JztcbiAgICBwcm9ncmVzczogYW55O1xufVxuZXhwb3J0IHR5cGUgR3JvdXBCeUl0ZW0gPSB7IFtrZXk6IHN0cmluZ106IGFueTsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xuZXhwb3J0IHR5cGUgTm90aWZ5T3B0aW9ucyA9IHtcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxuICAgIEltYWdlOiBzdHJpbmcgfCBudWxsOyAvLyBJbWFnZSBzb3VyY2Ugc3RyaW5nXG4gICAgVGl0bGU6IHN0cmluZyB8IG51bGw7IC8vIFRpdGxlIG9mIG5vdGlmaWNhdGlvbi4gSWYgeW91IGRvIG5vdCBpbmNsdWRlIHRoZSB0aXRsZSBpbiBvcHRpb25zIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlcyBpdHMgdmFsdWVcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xuICAgIERlbGF5OiBudW1iZXI7IC8vIEhpZGUgbm90aWZpY2F0aW9uIGFmdGVyIHRoaXMgdGltZSAoaW4gbWlsaXNlY29uZHMpXG4gICAgQ2xvc2FibGU6IGJvb2xlYW47IC8vIE1ha2Ugbm90aWZpY2F0aW9ucyBjbG9zYWJsZVxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxuICAgIENsb3NlT25DbGljazogYm9vbGVhbjsgLy8gQ2xvc2Ugbm90aWZpY2F0aW9ucyBieSBjbGlja2luZyBvbiB0aGVtXG4gICAgSXNSdGw6IGJvb2xlYW47XG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcbiAgICBTb3VuZFBhdGg6IHN0cmluZzsgLy8gVGhlIGZvbGRlciBwYXRoIHdoZXJlIHNvdW5kcyBhcmUgbG9jYXRlZFxuICAgIFNpemU6IHN0cmluZzsgLy8gbm9ybWFsLCBtaW5pLCBsYXJnZVxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXG4gICAgV2lkdGg6IG51bWJlcjsgLy8gV2lkdGggb2Ygbm90aWZpY2F0aW9uIGJveFxuICAgIE1lc3NhZ2VIZWlnaHQ6IG51bWJlcjsgLy8gTm90aWZpY2F0aW9uIG1lc3NhZ2UgbWF4aW11bSBoZWlnaHQuXG4gICAgTm90aWZpY2F0aW9uSXRlbT86IE5vdGlmaWNhdGlvbkl0ZW07XG59O1xuZXhwb3J0IHR5cGUgU2hhcmVCdXR0b25zQ2hvaWNlRGVmID0ge1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW107XG4gICAgYWRkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIENob2ljZURlZiA9IHtcbiAgICBBY3Rpdml0eURlZklkOiBzdHJpbmc7XG4gICAgQWN0aXZpdHlSdW5JZDogc3RyaW5nO1xuICAgIENob2ljZURlZklkOiBzdHJpbmc7XG4gICAgQ2hvaWNlTmFtZT86IHN0cmluZztcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIEljb24/OiBzdHJpbmc7XG4gICAgSGFzQmFyPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMgPSB7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICByZXN1bHQ6IGFueTtcbiAgICBlcnJvcjogYW55O1xuICAgIGNob2ljZT86IENob2ljZURlZjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICAgIG1zZzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGltYWdlOiBzdHJpbmc7XG4gICAgbW87XG4gICAgdWlPcHRpb25zOiBOb3RpZnlPcHRpb25zO1xuICAgIG90aGVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb24gPSB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJZDogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBTdGF0dXM6IHN0cmluZyB8IGFueTtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JdGVtID0gTWV0YW9iamVjdERhdGFNb2RlbCAmIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFVucmVhZDogYm9vbGVhbjtcbiAgICBDb250ZW50OiBzdHJpbmc7XG4gICAgJFNhZmVDb250ZW50PzogU2FmZUh0bWw7XG4gICAgUHJpb3JpdHk6IG51bWJlcjtcbiAgICBTdWJqZWN0OiBzdHJpbmc7XG4gICAgVGFnOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIEltYWdlOiBzdHJpbmc7XG4gICAgQ3JlYXRpb25EYXRlOiBEYXRlO1xuICAgIENyZWF0aW9uRGF0ZSRDYXB0aW9uOiBzdHJpbmc7XG4gICAgVWlBY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XG4gICAgJENob2ljZURlZlN0YXR1cz86IFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIEV4Tm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcbiAgICBsYW5nOiBzdHJpbmc7XG4gICAgaXNSdGw6IGJvb2xlYW47XG4gICAgbm90aWZpY2F0aW9uSXRlbTogTm90aWZpY2F0aW9uSXRlbTtcbn07XG5leHBvcnQgdHlwZSBGb3JtVmlzaWJpbGl0eVN0YXR1cyA9ICdQZW5kaW5nJyB8ICdWaXNpYmxlJztcbmV4cG9ydCB0eXBlIENhcnRhYmxlVGVtcGxhdGVLZXkgPSB7IFR5cGVEZWZJZDogc3RyaW5nOyBTZXR0aW5nc0lkOiBzdHJpbmcgfTtcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xuICAgIE5PTkUgPSAnbm9uZScsXG4gICAgQVNDID0gJ2FzYycsXG4gICAgREVTQyA9ICdkZXNjJ1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU29ydCB7XG4gICAgZmllbGQ6IHN0cmluZyB8IG51bGw7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICAgIGlzTnVtYmVyPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkdyb3VwIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICBzaG93QXNDb2x1bW46IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblBhZ2Uge1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU3RhdGUge1xuICAgIHNvcnRCeTogQ29sbGVjdGlvblNvcnRbXTtcbiAgICBncm91cEJ5OiBDb2xsZWN0aW9uR3JvdXBbXTtcbiAgICBwYWdlOiBDb2xsZWN0aW9uUGFnZTtcbiAgICBzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVTdGF0ZSBleHRlbmRzIENvbGxlY3Rpb25TdGF0ZSB7XG4gICAgY29sdW1uczogc3RyaW5nW107XG4gICAgY29sdW1uS2V5czogc3RyaW5nW107XG4gICAgZnJlZXplVG9Db2x1bW46IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZW51bSBTZWxlY3Rpb25Nb2RlIHtcbiAgICBTSU5HTEUgPSAnc2luZ2xlJyxcbiAgICBNVUxUSVBMRSA9ICdtdWx0aXBsZScsXG4gICAgTk9ORSA9ICdub25lJ1xufVxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2TWFpbkN0cmxyIHtcbiAgICBBZGFwdGVyOiBhbnk7XG4gICAgU2V0dGluZzogYW55O1xuICAgIFN5c3RlbTogYW55O1xuICAgIFVsdlBhcmFtczogYW55O1xuICAgIEZlYXR1cmVzOiBhbnk7XG4gICAgVWlPdmVycmlkZTogYW55O1xuICAgIFNlYXJjaFBhbmVsQ3RybHI6IGFueTtcbiAgICBTZWxlY3Rpb25BZGFwdGVyOiBhbnk7XG4gICAgRGF0YUN0cmxyOiBUeXBlVWx2RGF0YUN0cmxyO1xuICAgIENvbW1hbmRCYXJDdHJscjogYW55O1xuICAgIFZpZXdlckFkYXB0ZXI6IGFueTtcbiAgICBQYXJlbnRNbzogYW55O1xuICAgIEZpZWxkQ3RybHI6IGFueTtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjsgLy8gcG9ydGFsIHVzZSBpdC4gY29tcG9uZW50IG1hZGFyZWtcbiAgICAvLy8gUmVsYXRlZCBmaWVsZCBvZiBVbHZcbiAgICAvLyBQYXJlbnRGaWVsZEluZm9DdHJscjogbnVsbCxcbiAgICBJc1ByZXZpZXdTb3VyY2VGaWVsZDogYm9vbGVhbjtcbiAgICAvLy8gSW5kaWNhdGUgd2hldGhlciB0aGlzIFVsdiBpcyB1c2VkIGFzIHJlbGF0aW9uIGZpZWxkIHRoYXQgaXMgUHJldmlld1NvdXJjZSBmb3IgYSBzdWJmb3JtXG4gICAgU2hvd09rQ2FuY2VsQnV0dG9uczogYm9vbGVhbjtcbiAgICBfaXNFbmFibGU6IGJvb2xlYW47XG4gICAgX2lzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgX2lzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBGb290dGVyQnV0dG9uczogYm9vbGVhbjtcbiAgICBSZWZyZXNoUm93c0J5TW9zTm9TZWxlY3Rpb25DaGFuZ2UoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xuICAgIFJlZnJlc2hSb3dzQnlNb3MoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZEYXRhQ3RybHIge1xuICAgIEdldEVkaXRGb3JtUGFyYW1zKG1vLCBpc1JlYWRPbmx5LCBpc05ldywgaW5oZXJpdGFuY2VDaGlsZFR5cGVEZWYsIGRvUmV0dXJuKTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbXBvbmVudFBhcmFtcyB7XG4gICAgZm9ybVNldHRpbmc/OiBGb3JtU2V0dGluZztcbiAgICBtb0lkOiBzdHJpbmc7XG4gICAgdHlwZURlZklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgdmlld0lkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIFZpZXdOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGluRGlhbG9nPzogYm9vbGVhbjtcbiAgICBpc1NpbXBsZT86IGJvb2xlYW47XG4gICAgbG9hZEFjdGl2aXR5Vmlldz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEJydWxlQWN0aW9uTWVzc2FnZSB7XG4gICAgTWVzc2FnZVR5cGU6IG51bWJlcjtcbiAgICBFc2NhcGVDaGFyYWN0ZXJzOiBib29sZWFuO1xuICAgIE1lc3NhZ2VFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgTWVzc2FnZUV4cHJlc3Npb25IdG1sOiBTYWZlSHRtbDtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, Optional, Self, SkipSelf } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, Optional, Self, SkipSelf, ViewChild } from '@angular/core';
|
|
2
2
|
import { catchError, from, tap, Subject, switchMap, takeUntil, throwError } from 'rxjs';
|
|
3
3
|
import { BarsaApi } from '../abstract-classes';
|
|
4
4
|
import { PreventDefaulEvent, createGridEditorFormPanel } from '../constants';
|
|
@@ -185,9 +185,29 @@ export class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
185
185
|
onCartableFormClosed() {
|
|
186
186
|
this.cartableFormClosed.emit({ mo: this.mo, index: this.index });
|
|
187
187
|
}
|
|
188
|
+
onCartableBruleAction(bruleAction) {
|
|
189
|
+
this._handleBruleShowMessageAction(bruleAction);
|
|
190
|
+
}
|
|
191
|
+
onCartableAfterTansition(e) {
|
|
192
|
+
this.workflowState = {
|
|
193
|
+
error: this.bruleActionMessage ? this.bruleActionMessage : e.error,
|
|
194
|
+
state: 'Finish'
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
onCartableBeforeTansition() {
|
|
198
|
+
this.workflowState = { state: 'Pending', error: null };
|
|
199
|
+
// this.workflowStateChanged.emit(this.workflowState);
|
|
200
|
+
}
|
|
201
|
+
onResetWorkflowState() {
|
|
202
|
+
this._handleResetWorkflowState();
|
|
203
|
+
}
|
|
188
204
|
_trackByColumn(index, column) {
|
|
189
205
|
return `${column.Name}${index}`;
|
|
190
206
|
}
|
|
207
|
+
_handleResetWorkflowState() {
|
|
208
|
+
this.bruleActionMessage = null;
|
|
209
|
+
this.workflowState = { state: '', error: null };
|
|
210
|
+
}
|
|
191
211
|
_updateCartableMo(serializeMo) {
|
|
192
212
|
if (serializeMo && this._cartableMo) {
|
|
193
213
|
serializeMo = `${serializeMo}`;
|
|
@@ -220,7 +240,8 @@ export class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
220
240
|
moId: cartableMo.Id,
|
|
221
241
|
typeDefId: cartableMo.$TypeDefId,
|
|
222
242
|
viewId: view.TypeViewId,
|
|
223
|
-
inDialog: false
|
|
243
|
+
inDialog: false,
|
|
244
|
+
loadActivityView: true
|
|
224
245
|
};
|
|
225
246
|
this.hasCartableTemplate = true;
|
|
226
247
|
this._cdr.markForCheck();
|
|
@@ -263,7 +284,12 @@ export class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
263
284
|
const choiceList = this.cartableParams.formSetting?.Workflow?.ChoiceList;
|
|
264
285
|
if (choiceList?.length) {
|
|
265
286
|
setTimeout(() => {
|
|
266
|
-
this.workflowShareButtons.emit({
|
|
287
|
+
this.workflowShareButtons.emit({
|
|
288
|
+
formPanelCtrlr: this._cartableFormRef.formPanelCtrl,
|
|
289
|
+
mo: this.mo,
|
|
290
|
+
choiceList,
|
|
291
|
+
add: isChecked
|
|
292
|
+
});
|
|
267
293
|
});
|
|
268
294
|
}
|
|
269
295
|
}
|
|
@@ -303,19 +329,6 @@ export class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
303
329
|
_handleBruleShowMessageAction(action) {
|
|
304
330
|
action.MessageExpressionHtml = this._domSanitizer.bypassSecurityTrustHtml(action.MessageExpression);
|
|
305
331
|
this.bruleActionMessage = action;
|
|
306
|
-
// if (action.MessageType === BarsaApi.Common.Enums.ShowMessageRuleAction_Type.Information) {
|
|
307
|
-
// if (action.EscapeCharacters) Ul.MsgBox.Info(action.MessageExpression, doReturn);
|
|
308
|
-
// else Ul.MsgBox.Info_ShowHtml(action.MessageExpression, doReturn);
|
|
309
|
-
// } else if (action.MessageType === BarsaApi.Common.Enums.ShowMessageRuleAction_Type.Error) {
|
|
310
|
-
// var doReturn0 = function () {
|
|
311
|
-
// this._formPanel.RefocusCurrentField();
|
|
312
|
-
// doReturn(new Common.SilentException());
|
|
313
|
-
// };
|
|
314
|
-
// if (action.EscapeCharacters) Ul.MsgBox.Error(action.MessageExpression, doReturn0.bind(this));
|
|
315
|
-
// else Ul.MsgBox.Error_ShowHtml(action.MessageExpression, doReturn0.bind(this));
|
|
316
|
-
// } else if (action.MessageType === BarsaApi.Common.Enums.ShowMessageRuleAction_Type.OkCancel) {
|
|
317
|
-
// Ul.MsgBox.ConfirmYesNo_Safe(true, action.MessageExpression, BBB.Select, action.EscapeCharacters, doReturn);
|
|
318
|
-
// }
|
|
319
332
|
}
|
|
320
333
|
_createFormPanelCtrlr(mo, typeDefId) {
|
|
321
334
|
if (!this.formPanelCtrlr) {
|
|
@@ -395,7 +408,7 @@ export class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
395
408
|
}
|
|
396
409
|
}
|
|
397
410
|
BaseViewItemPropsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BaseViewItemPropsComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i2.MoReportValuePipe }, { token: i3.FormPanelService, optional: true, skipSelf: true }, { token: i3.FormPanelService, optional: true, self: true }, { token: i3.UlvMainService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
398
|
-
BaseViewItemPropsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BaseViewItemPropsComponent, selector: "bnrc-base-view-item-props", inputs: { mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", isChecked: "isChecked", showViewButton: "showViewButton", isNewInlineMo: "isNewInlineMo", extraRelation: "extraRelation", hideOpenIcon: "hideOpenIcon", inDialog: "inDialog", isMultiSelect: "isMultiSelect", rowIndicator: "rowIndicator", rowIndicatorColor: "rowIndicatorColor", UlvMainCtrlr: "UlvMainCtrlr", fieldDict: "fieldDict", serializedRelatedMo: "serializedRelatedMo", cartableTemplate: "cartableTemplate", cartableMo: "cartableMo", cartableWorkflowData: "cartableWorkflowData" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
411
|
+
BaseViewItemPropsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BaseViewItemPropsComponent, selector: "bnrc-base-view-item-props", inputs: { mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", isChecked: "isChecked", showViewButton: "showViewButton", isNewInlineMo: "isNewInlineMo", extraRelation: "extraRelation", hideOpenIcon: "hideOpenIcon", inDialog: "inDialog", isMultiSelect: "isMultiSelect", rowIndicator: "rowIndicator", rowIndicatorColor: "rowIndicatorColor", UlvMainCtrlr: "UlvMainCtrlr", fieldDict: "fieldDict", serializedRelatedMo: "serializedRelatedMo", cartableTemplate: "cartableTemplate", cartableMo: "cartableMo", cartableWorkflowData: "cartableWorkflowData" }, viewQueries: [{ propertyName: "_cartableFormRef", first: true, predicate: ["cartableFormRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
399
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BaseViewItemPropsComponent, decorators: [{
|
|
400
413
|
type: Component,
|
|
401
414
|
args: [{
|
|
@@ -413,7 +426,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
413
426
|
type: Self
|
|
414
427
|
}] }, { type: i3.UlvMainService, decorators: [{
|
|
415
428
|
type: Optional
|
|
416
|
-
}] }]; }, propDecorators: {
|
|
429
|
+
}] }]; }, propDecorators: { _cartableFormRef: [{
|
|
430
|
+
type: ViewChild,
|
|
431
|
+
args: ['cartableFormRef', { static: false }]
|
|
432
|
+
}], mo: [{
|
|
417
433
|
type: Input
|
|
418
434
|
}], moDataListCount: [{
|
|
419
435
|
type: Input
|
|
@@ -452,4 +468,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
452
468
|
}], cartableWorkflowData: [{
|
|
453
469
|
type: Input
|
|
454
470
|
}] } });
|
|
455
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12aWV3LWl0ZW0tcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2R5bmFtaWMtY29tcG9uZW50L2Jhc2Utdmlldy1pdGVtLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUVKLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBHLE9BQU8sRUFJSCxRQUFRLEVBR1gsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBUTNELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxzQkFBc0I7SUE2RGxFLFlBQ2MsR0FBZSxFQUNmLGFBQTJCLEVBQzNCLElBQXVCLEVBQ3ZCLGdCQUFtQyxFQUNYLHVCQUF5QyxFQUM3QyxpQkFBbUMsRUFDM0MsZUFBK0I7UUFFckQsS0FBSyxFQUFFLENBQUM7UUFSRSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNYLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBa0I7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUMzQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFoQ3pELGFBQVEsR0FBRyxL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QyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3VIQW5jUSwwQkFBMEI7MkdBQTFCLDBCQUEwQix5cUJBSHpCLEVBQUU7MkZBR0gsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBbUVRLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs0Q0FuRUosRUFBRTtzQkFBVixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFTyxtQkFBbUI7c0JBQS9CLEtBQUs7Z0JBS08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBTU8sb0JBQW9CO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZyb20sIHRhcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgRm9ybVNldHRpbmcsXG4gICAgQmFyc2FBcGksXG4gICAgQ2hvaWNlRGVmLFxuICAgIFR5cGVVbHZNYWluQ3RybHJcbn0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBQcmV2ZW50RGVmYXVsRXZlbnQsIGNyZWF0ZUdyaWRFZGl0b3JGb3JtUGFuZWwgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybVBhbmVsU2VydmljZSwgVWx2TWFpblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCYXNlVmlld1Byb3BzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLXZpZXctcHJvcHMnO1xuaW1wb3J0IHsgTW9SZXBvcnRWYWx1ZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG50eXBlIFJlYXNvblRvU2F2ZSA9ICdUQUInIHwgJ0NUUkwrRU5URVInIHwgJ0NIRUNLX0NIQU5HRUQnIHwgJ0VTQyc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtYmFzZS12aWV3LWl0ZW0tcHJvcHMnLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCBleHRlbmRzIEJhc2VWaWV3UHJvcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgbW9EYXRhTGlzdENvdW50OiBudW1iZXI7XG4gICAgQElucHV0KCkgaW5kZXg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBsYXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzaG93Vmlld0J1dHRvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc05ld0lubGluZU1vOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGV4dHJhUmVsYXRpb246IGFueTtcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dJbmRpY2F0b3I6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SW5kaWNhdG9yQ29sb3I6IHN0cmluZztcbiAgICBASW5wdXQoKSBVbHZNYWluQ3RybHI6IFR5cGVVbHZNYWluQ3RybHI7XG4gICAgQElucHV0KCkgZmllbGREaWN0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgQElucHV0KCkgc2V0IHNlcmlhbGl6ZWRSZWxhdGVkTW8odmFsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2VyaWFsaXplZFJlbGF0ZWRNbyA9IHZhbDtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ2FydGFibGVNbyh2YWwpO1xuICAgICAgICB0aGlzLl9jcmVhdGVDYXJ0YWJsZVBhcmFtcygpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgY2FydGFibGVUZW1wbGF0ZSh2YWw6IEZvcm1TZXR0aW5nKSB7XG4gICAgICAgIHRoaXMuX2NhcnRhYmxlVGVtcGxhdGUgPSB2YWw7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNhcnRhYmxlUGFyYW1zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBjYXJ0YWJsZU1vKHZhbDogTWV0YW9iamVjdERhdGFNb2RlbCkge1xuICAgICAgICB0aGlzLl9jYXJ0YWJsZU1vID0gdmFsO1xuICAgICAgICB0aGlzLl91cGRhdGVDYXJ0YWJsZU1vKHRoaXMuX3NlcmlhbGl6ZWRSZWxhdGVkTW8pO1xuXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNhcnRhYmxlUGFyYW1zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBjYXJ0YWJsZVdvcmtmbG93RGF0YSh2YWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jYXJ0YWJsZVdvcmtmbG93RGF0YSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2FydGFibGVQYXJhbXMoKTtcbiAgICB9XG4gICAgaGFzRXJyb3IgPSBmYWxzZTtcbiAgICBfZm9jdXNUb0ZpcnN0RWlkdGFibGVDb2x1bW4gPSBmYWxzZTtcbiAgICBfbGFzdEVkaXRhYmxlQ29sdW1uSW5kZXg6IG51bWJlcjtcbiAgICBpbmxpbmVFZGl0SW5SZXBvcnQgPSB0cnVlO1xuICAgIGxheW91dCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBmb3JtUGFuZWxDdHJscjogYW55O1xuICAgIHNhdmluZzogYm9vbGVhbjtcbiAgICBzYXZlZDogYm9vbGVhbjtcbiAgICBpblJvdyA9IHRydWU7XG4gICAgaGFzQ2FydGFibGVUZW1wbGF0ZSA9IGZhbHNlO1xuICAgIGNhcnRhYmxlUGFyYW1zOiB7XG4gICAgICAgIGZvcm1TZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICAgICAgbW9JZDogc3RyaW5nO1xuICAgICAgICB0eXBlRGVmSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgdmlld0lkOiBhbnk7XG4gICAgICAgIGluRGlhbG9nOiBib29sZWFuO1xuICAgIH07XG4gICAgYnJ1bGVBY3Rpb25NZXNzYWdlOiBCcnVsZUFjdGlvbk1lc3NhZ2UgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9zYXZlRWRpdGVkTW8kID0gbmV3IFN1YmplY3Q8UmVhc29uVG9TYXZlPigpO1xuICAgIHByaXZhdGUgX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX2Zvcm1QYW5lbExvYWRlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9jYXJ0YWJsZU1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlVGVtcGxhdGU6IEZvcm1TZXR0aW5nO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlV29ya2Zsb3dEYXRhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfc2VyaWFsaXplZFJlbGF0ZWRNbzogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfcmVwb3J0VmFsdWVQaXBlOiBNb1JlcG9ydFZhbHVlUGlwZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJvdGVjdGVkIF9wYXJlbnRGb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBfZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChyZWFzb246IFJlYXNvblRvU2F2ZSkgPT4gdGhpcy5faW5saW5lRWRpdFNhdmVGb3JtUGFuZWwocmVhc29uKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IHsgcmVhc29uOiBSZWFzb25Ub1NhdmU7IHN1Y2NlZWQ6IGJvb2xlYW47IHNhdmVkOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLnNhdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXMucmVhc29uID09PSAnVEFCJyB8fCByZXMucmVhc29uID09PSAnQ1RSTCtFTlRFUicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQodGhpcy5tbyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMucmVhc29uID09PSAnRVNDJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX3N5bmNNbygpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMubW8uJElubGluZU1vQ2hhbmdlZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW8uJElubGluZU1vQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGdldCBfaGFzRm9ybVBhbmVsU2VydmljZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UgIT09IG51bGwgJiYgdGhpcy5mb3JtU2V0dGluZztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5faGFzRm9ybVBhbmVsU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGlzQ2hlY2tlZCwgaW5saW5lRWRpdE1vZGUgfSA9IGNoYW5nZXM7XG4gICAgICAgIGxldCBuZWVkVG9Mb2FkRm9ybSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGVja2VkLmN1cnJlbnRWYWx1ZSAmJiBpc0NoZWNrZWQucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fbmVlZFRvU2F2ZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYXZlRWRpdGVkTW8kLm5leHQoJ0NIRUNLX0NIQU5HRUQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNDaGVja2VkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBuZWVkVG9Mb2FkRm9ybSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NoZWNrZWQgJiYgIWlzQ2hlY2tlZC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fcmFpc2VXb3JrZmxvd1NoYXJlQnV0dG9ucyhpc0NoZWNrZWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5saW5lRWRpdE1vZGU/LmN1cnJlbnRWYWx1ZSAmJiAhaW5saW5lRWRpdE1vZGU/LnByZXZpb3VzVmFsdWUgJiYgdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgIG5lZWRUb0xvYWRGb3JtID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5saW5lRWRpdE1vZGU/LmN1cnJlbnRWYWx1ZSAmJiBpbmxpbmVFZGl0TW9kZT8ucHJldmlvdXNWYWx1ZSAmJiB0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdFU0MnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVlZFRvTG9hZEZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRBbmRDcmVhdGVGb3JtUGFuZWxDdHJscigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLm1vICYmICFjaGFuZ2VzLm1vLmZpcnN0Q2hhbmdlICYmIHRoaXMuaW5saW5lRWRpdE1vZGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9mb3JtUGFuZWxMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLlNldFZhbHVlKGNoYW5nZXMubW8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBpZiAobW8gJiYgIW1vLmZpcnN0Q2hhbmdlICYmIHRoaXMuX2hhc0Zvcm1QYW5lbFNlcnZpY2UgJiYgdGhpcy5pc0NoZWNrZWQgJiYgdGhpcy5pbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICAvLyAgICAgLy90aGlzLmZvcm1QYW5lbEN0cmxyLlNldFZhbHVlKGNoYW5nZXMubW8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybVBhbmVsQ3RybHIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIudW4oJ2JydWxlU2hvd01lc3NhZ2VBY3Rpb24nLCB0aGlzLl9oYW5kbGVCcnVsZVNob3dNZXNzYWdlQWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBPbkNhcnRhYmxlRm9ybUNsaWNrKGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb3dDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm93Q2hlY2soKTtcbiAgICB9XG5cbiAgICBvblJvd0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ29sdW1uQ2hhbmdlVG9FZGl0TW9kZShjb2x1bW5FbDogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IGNvbHVtbkVsLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICBgYnV0dG9uLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksW2hyZWZdLGlucHV0Om5vdChbZGlzYWJsZWRdKSxpbnB1dCxcbiAgICAgICAgICAgICAgICBzZWxlY3Qsc2VsZWN0Om5vdChbZGlzYWJsZWRdKSx0ZXh0YXJlYSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pYFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9sYXN0RWRpdGFibGVDb2x1bW5JbmRleCA9IGluZGV4O1xuICAgICAgICBpZiAoIWZvY3VzYWJsZXMubGVuZ3RoIHx8IHRoaXMuX2ZvY3VzVG9GaXJzdEVpZHRhYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9jdXNUb0ZpcnN0RWlkdGFibGVDb2x1bW4gPSB0cnVlO1xuICAgICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlID0gZm9jdXNhYmxlc1swXTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAobGFzdEZvY3VzYWJsZSBhcyBIVE1MRWxlbWVudCk/LmZvY3VzKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbiAgICBvblRhYktleURvd24oZSwgaW5kZXgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLl9sYXN0RWRpdGFibGVDb2x1bW5JbmRleCkge1xuICAgICAgICAgICAgUHJldmVudERlZmF1bEV2ZW50KGUpO1xuICAgICAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdUQUInKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxTYXZlKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdDVFJMK0VOVEVSJyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbENhbmNlbChlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnRVNDJyk7XG4gICAgfVxuICAgIG9uVWx2Q29tbWFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bHZDb21tYW5kLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQWN0aW9uKGNvbW1hbmRCb2R5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb24uZW1pdChjb21tYW5kQm9keSk7XG4gICAgfVxuICAgIG9uRXhwYW5kQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2xpY2suZW1pdCh0aGlzLm1vKTtcbiAgICB9XG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xuICAgICAgICAgICAgY2FzZSAncm93Q2hlY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncm93Q2xpY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDbGljaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndWx2Q29tbWFuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblVsdkNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FydGFibGVGb3JtQ2xvc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcnRhYmxlRm9ybUNsb3NlZC5lbWl0KHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cbiAgICBfdHJhY2tCeUNvbHVtbihpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29sdW1uLk5hbWV9JHtpbmRleH1gO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZUNhcnRhYmxlTW8oc2VyaWFsaXplTW86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoc2VyaWFsaXplTW8gJiYgdGhpcy5fY2FydGFibGVNbykge1xuICAgICAgICAgICAgc2VyaWFsaXplTW8gPSBgJHtzZXJpYWxpemVNb31gO1xuICAgICAgICAgICAgY29uc3QgbW8gPSBCYXJzYUFwaS5FeHQuZGVjb2RlKHNlcmlhbGl6ZU1vKTtcbiAgICAgICAgICAgIHRoaXMuX2NhcnRhYmxlTW8gPSB7IC4uLnRoaXMuX2NhcnRhYmxlTW8sIC4uLm1vIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jcmVhdGVDYXJ0YWJsZVBhcmFtcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNhcnRhYmxlVGVtcGxhdGUgPSB0aGlzLl9jYXJ0YWJsZVRlbXBsYXRlO1xuICAgICAgICBjb25zdCBjYXJ0YWJsZU1vID0gdGhpcy5fY2FydGFibGVNbztcbiAgICAgICAgY29uc3QgY2FydGFibGVXb3JrZmxvd0RhdGEgPSB0aGlzLl9jYXJ0YWJsZVdvcmtmbG93RGF0YTtcbiAgICAgICAgaWYgKHRoaXMuaGFzQ2FydGFibGVUZW1wbGF0ZSkge1xuICAgICAgICAgICAgLy8gVE9ETyB1cGRhdGUgY2FydGFibGUgbW87XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZSAmJlxuICAgICAgICAgICAgY2FydGFibGVNbyAmJlxuICAgICAgICAgICAgdHlwZW9mIGNhcnRhYmxlV29ya2Zsb3dEYXRhICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgdGhpcy5fc2VyaWFsaXplZFJlbGF0ZWRNb1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNhcnRhYmxlVGVtcGxhdGUpKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXcgPSBjYXJ0YWJsZVRlbXBsYXRlLlZpZXc7XG4gICAgICAgICAgICBjYXJ0YWJsZVRlbXBsYXRlLkRhdGEgPSB7IE1vOiB7IC4uLmNhcnRhYmxlTW8gfSB9O1xuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZS5Xb3JrZmxvdyA9IGNhcnRhYmxlV29ya2Zsb3dEYXRhID09PSAnJyA/IG51bGwgOiBKU09OLnBhcnNlKGNhcnRhYmxlV29ya2Zsb3dEYXRhKTtcbiAgICAgICAgICAgIGlmICghdmlldy5FeHRyYUpzb25Qcm9wKSB7XG4gICAgICAgICAgICAgICAgdmlldy5FeHRyYUpzb25Qcm9wID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2aWV3LkV4dHJhSnNvblByb3AuSXNTaW1wbGUgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmNhcnRhYmxlUGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjYXJ0YWJsZVRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIG1vSWQ6IGNhcnRhYmxlTW8uSWQsXG4gICAgICAgICAgICAgICAgdHlwZURlZklkOiBjYXJ0YWJsZU1vLiRUeXBlRGVmSWQsXG4gICAgICAgICAgICAgICAgdmlld0lkOiB2aWV3LlR5cGVWaWV3SWQsXG4gICAgICAgICAgICAgICAgaW5EaWFsb2c6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5oYXNDYXJ0YWJsZVRlbXBsYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX25lZWRUb1NhdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGlmICghdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBjb25zdCBpc0NoaWxkTm9kZSA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIC8vIGlmIChpc0NoaWxkTm9kZSkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAvLyB9XG4gICAgICAgIGNvbnN0IHQgPSB0aGlzLmlubGluZUVkaXRNb2RlICYmIHRoaXMuX2hhc0Zvcm1QYW5lbFNlcnZpY2U7XG4gICAgICAgIGlmICghdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVBhbmVsQ3RybHIgJiYgdGhpcy5mb3JtUGFuZWxDdHJsci5Jc01vQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tmb2N1c091dEZyb21Sb3codGFyZ2V0KTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnN0IGZvY3VzYWJsZTogTm9kZUxpc3QgPSB0aGlzLl9mb2N1c2FibGVDb250cm9scztcbiAgICAgICAgLy8gbGV0IGZvdW5kSW5Gb2N1c2FibGUgPSBmYWxzZTtcbiAgICAgICAgLy8gZm9jdXNhYmxlLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgLy8gICAgIGlmIChjID09PSB0YXJnZXQpIHtcbiAgICAgICAgLy8gICAgICAgICBmb3VuZEluRm9jdXNhYmxlID0gdHJ1ZTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIC8vIGlmICghZm91bmRJbkZvY3VzYWJsZSkge1xuICAgICAgICAvLyAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdUQUInKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3Jvd0NoZWNrKCk6IHZvaWQge1xuICAgICAgICAvLyBpZiAodGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yYWlzZVdvcmtmbG93U2hhcmVCdXR0b25zKGlzQ2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jYXJ0YWJsZVBhcmFtcykge1xuICAgICAgICAgICAgY29uc3QgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW10gPSB0aGlzLmNhcnRhYmxlUGFyYW1zLmZvcm1TZXR0aW5nPy5Xb3JrZmxvdz8uQ2hvaWNlTGlzdDtcbiAgICAgICAgICAgIGlmIChjaG9pY2VMaXN0Py5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KHsgbW86IHRoaXMubW8sIGNob2ljZUxpc3QsIGFkZDogaXNDaGVja2VkIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5vblJvd0NoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJC5uZXh0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc3luY01vKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBzeW5jV2l0aEZvcm1wYW5lbE1vID0gdGhpcy5tbztcbiAgICAgICAgY29uc3QgX2lzQ2hlY2tlZCA9IHRoaXMubW8uJElzQ2hlY2tlZDtcbiAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybHJNbyA9IHRoaXMuZm9ybVBhbmVsQ3RybHIuTW87XG4gICAgICAgIHRoaXMuX3VwZGF0ZVdpdGhPcmlnaW5hbFZhbHVlcyhmb3JtUGFuZWxDdHJsck1vLCBzeW5jV2l0aEZvcm1wYW5lbE1vKTtcbiAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1snJE9yaWdpbmFsVmFsdWVzJ10gPSBmb3JtUGFuZWxDdHJsck1vWyckT3JpZ2luYWxWYWx1ZXMnXTtcbiAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1snJEZpZWxkRGljdCddID0gZm9ybVBhbmVsQ3RybHJNb1snJEZpZWxkRGljdCddO1xuICAgICAgICBzeW5jV2l0aEZvcm1wYW5lbE1vWyckU3RhdGUnXSA9IGZvcm1QYW5lbEN0cmxyTW9bJyRTdGF0ZSddOyAvLyB0aGlzIGFkZCBiZWNhdXNlIGlmIHdlIGVkaXQgdW5jaGFuZ2VkIG1vIGl0IGRvZXMgbm90IHJlZmxlY3QgdG8gbW8gb2YgdWx2LlxuICAgICAgICB0aGlzLm1vID0geyAuLi5zeW5jV2l0aEZvcm1wYW5lbE1vIH07XG4gICAgICAgIHRoaXMubW8uJElzQ2hlY2tlZCA9IF9pc0NoZWNrZWQ7XG4gICAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZVdpdGhPcmlnaW5hbFZhbHVlcyhzb3VyY2U6IE1ldGFvYmplY3REYXRhTW9kZWwsIGRlc3Q6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmtleXMoc291cmNlLiRPcmlnaW5hbFZhbHVlcykuZm9yRWFjaCgoYzogYW55KSA9PiB7XG4gICAgICAgICAgICBkZXN0W2NdID0gc291cmNlW2NdO1xuICAgICAgICAgICAgaWYgKHNvdXJjZVtjICsgJyRDYXB0aW9uJ10pIHtcbiAgICAgICAgICAgICAgICBkZXN0W2MgKyAnJENhcHRpb24nXSA9IHNvdXJjZVtjICsgJyRDYXB0aW9uJ107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc291cmNlW2MgKyAnJEljb24nXSkge1xuICAgICAgICAgICAgICAgIGRlc3RbYyArICckSWNvbiddID0gc291cmNlW2MgKyAnJEljb24nXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yYWlzZUZvcm1QYW5lbFZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1vKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2hhbmRsZUJydWxlU2hvd01lc3NhZ2VBY3Rpb24oYWN0aW9uOiBCcnVsZUFjdGlvbk1lc3NhZ2UpOiB2b2lkIHtcbiAgICAgICAgYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uSHRtbCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24pO1xuICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IGFjdGlvbjtcbiAgICAgICAgLy8gaWYgKGFjdGlvbi5NZXNzYWdlVHlwZSA9PT0gQmFyc2FBcGkuQ29tbW9uLkVudW1zLlNob3dNZXNzYWdlUnVsZUFjdGlvbl9UeXBlLkluZm9ybWF0aW9uKSB7XG4gICAgICAgIC8vICAgICBpZiAoYWN0aW9uLkVzY2FwZUNoYXJhY3RlcnMpIFVsLk1zZ0JveC5JbmZvKGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbiwgZG9SZXR1cm4pO1xuICAgICAgICAvLyAgICAgZWxzZSBVbC5Nc2dCb3guSW5mb19TaG93SHRtbChhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24sIGRvUmV0dXJuKTtcbiAgICAgICAgLy8gfSBlbHNlIGlmIChhY3Rpb24uTWVzc2FnZVR5cGUgPT09IEJhcnNhQXBpLkNvbW1vbi5FbnVtcy5TaG93TWVzc2FnZVJ1bGVBY3Rpb25fVHlwZS5FcnJvcikge1xuICAgICAgICAvLyAgICAgdmFyIGRvUmV0dXJuMCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gICAgICAgICB0aGlzLl9mb3JtUGFuZWwuUmVmb2N1c0N1cnJlbnRGaWVsZCgpO1xuICAgICAgICAvLyAgICAgICAgIGRvUmV0dXJuKG5ldyBDb21tb24uU2lsZW50RXhjZXB0aW9uKCkpO1xuICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgLy8gICAgIGlmIChhY3Rpb24uRXNjYXBlQ2hhcmFjdGVycykgVWwuTXNnQm94LkVycm9yKGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbiwgZG9SZXR1cm4wLmJpbmQodGhpcykpO1xuICAgICAgICAvLyAgICAgZWxzZSBVbC5Nc2dCb3guRXJyb3JfU2hvd0h0bWwoYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uLCBkb1JldHVybjAuYmluZCh0aGlzKSk7XG4gICAgICAgIC8vIH0gZWxzZSBpZiAoYWN0aW9uLk1lc3NhZ2VUeXBlID09PSBCYXJzYUFwaS5Db21tb24uRW51bXMuU2hvd01lc3NhZ2VSdWxlQWN0aW9uX1R5cGUuT2tDYW5jZWwpIHtcbiAgICAgICAgLy8gICAgIFVsLk1zZ0JveC5Db25maXJtWWVzTm9fU2FmZSh0cnVlLCBhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24sIEJCQi5TZWxlY3QsIGFjdGlvbi5Fc2NhcGVDaGFyYWN0ZXJzLCBkb1JldHVybik7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jcmVhdGVGb3JtUGFuZWxDdHJscihtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgdHlwZURlZklkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybVBhbmVsQ3RybHIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIgPSBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsKFxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVNldHRpbmcsXG4gICAgICAgICAgICAgICAgeyAuLi5tbyB9LFxuICAgICAgICAgICAgICAgIHR5cGVEZWZJZCxcbiAgICAgICAgICAgICAgICB0aGlzLmV4dHJhUmVsYXRpb24sXG4gICAgICAgICAgICAgICAgdGhpcy5pblJvd1xuICAgICAgICAgICAgICAgIC8vIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dC5TZXR0aW5nLCAnRXh0cmEuUmVsYXRpb24nKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLklubGluZUVkaXRJblJlcG9ydCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIub24oe1xuICAgICAgICAgICAgYnJ1bGVTaG93TWVzc2FnZUFjdGlvbjogdGhpcy5faGFuZGxlQnJ1bGVTaG93TWVzc2FnZUFjdGlvbi5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMuX2hhbmRsZVZhbHVlQ2hhbmdlLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9sb2FkQW5kQ3JlYXRlRm9ybVBhbmVsQ3RybHIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1TZXR0aW5nRGF0YSA9IHRoaXMuZm9ybVNldHRpbmcuRGF0YTtcbiAgICAgICAgY29uc3QgZm9ybU1vID0ge1xuICAgICAgICAgICAgLi4udGhpcy5tbyxcbiAgICAgICAgICAgICRGaWVsZERpY3Q6IGZvcm1TZXR0aW5nRGF0YS5Nby4kRmllbGREaWN0LFxuICAgICAgICAgICAgJFR5cGVEZWZJZDogZm9ybVNldHRpbmdEYXRhLk1vLiRUeXBlRGVmSWQsXG4gICAgICAgICAgICAkT3JpZ2luYWxWYWx1ZXM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLl9mb3JtUGFuZWxMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2V0VmFsdWUoZm9ybU1vKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NyZWF0ZUZvcm1QYW5lbEN0cmxyKGZvcm1NbywgdGhpcy50eXBlRGVmSWQpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxMb2FkZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuVWx2TW9EYXRhTGlzdENvdW50ID0gdGhpcy5tb0RhdGFMaXN0Q291bnQgLSAxO1xuICAgICAgICBmb3JtUGFuZWxDdHJsci5Mb2FkQW5kQ3JlYXRlKG51bGwsIGZhbHNlLCBmYWxzZSwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRNbyA9IHRoaXMuX3BhcmVudEZvcm1QYW5lbFNlcnZpY2UgPyB0aGlzLl9wYXJlbnRGb3JtUGFuZWxTZXJ2aWNlLm1vIDogbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4dHJhUmVsYXRpb24gJiYgcGFyZW50TW8gJiYgdGhpcy5leHRyYVJlbGF0aW9uLlJlbGF0aW9uVHlwZSA9PT0gJ0NvbXBvc2l0aW9uJykge1xuICAgICAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLk1vLlNldEZWYWx1ZSh0aGlzLmV4dHJhUmVsYXRpb24uUGFyZW50RmROYW1lLCBwYXJlbnRNbyk7XG4gICAgICAgICAgICAgICAgLy8gbmV3Rm9ybVNldHRpbmdzLkRhdGEuTW9bcmVsYXRpb24uUGFyZW50RmROYW1lXSA9IHBhcmVudE1vLkdldENoYW5nZWRPYmplY3QoKTtcbiAgICAgICAgICAgICAgICAvLyBuZXdGb3JtU2V0dGluZ3MuRGF0YS5Nb1tyZWxhdGlvbi5QYXJlbnRGZE5hbWVdLiRTdGF0ZSA9IHBhcmVudE1vLiRTdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1c3RvbUZvcm1QYW5lbFVpLlJlZnJlc2ggPSAoKSA9PiB7fTtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVzZXRTYXZpbmdTdGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5icnVsZUFjdGlvbk1lc3NhZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnNhdmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRTYXZpbmdTdGF0ZShlcnIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pbmxpbmVFZGl0U2F2ZUZvcm1QYW5lbChyZWFzb24pOiBQcm9taXNlPHsgcmVhc29uOiBSZWFzb25Ub1NhdmU7IHN1Y2NlZWQ6IGJvb2xlYW47IHNhdmVkOiBib29sZWFuIH0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8eyByZWFzb246IFJlYXNvblRvU2F2ZTsgc3VjY2VlZDogYm9vbGVhbjsgc2F2ZWQ6IGJvb2xlYW4gfT4oKHJlc29sdmUsIF8pID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJsci5Jc01vQ2hhbmdlZCgpKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgc3RhdGUgb2YgbW8gaXMgbmV3IG9yIG1vZGlkZmllZCB0aGVuIGl0IG5lZWRzIHRvIHVwZGF0ZVxuICAgICAgICAgICAgICAgIHJlc29sdmUoeyByZWFzb24sIHN1Y2NlZWQ6IHRydWUsIHNhdmVkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyTW8gPSB0aGlzLmZvcm1QYW5lbEN0cmxyLk1vO1xuICAgICAgICAgICAgZGVsZXRlIGZvcm1QYW5lbEN0cmxyTW8uanNvbjtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2aW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5tby4kSW5saW5lTW9DaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxTYXZlLmVtaXQodGhpcy5tbyk7XG4gICAgICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLlNhdmUoZmFsc2UsIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2V0SXNDaGFuZ2VkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRTYXZpbmdTdGF0ZShlcnIpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoeyByZWFzb24sIHN1Y2NlZWQ6IHRydWUsIHNhdmVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmludGVyZmFjZSBCcnVsZUFjdGlvbk1lc3NhZ2Uge1xuICAgIE1lc3NhZ2VUeXBlOiBudW1iZXI7XG4gICAgRXNjYXBlQ2hhcmFjdGVyczogYm9vbGVhbjtcbiAgICBNZXNzYWdlRXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIE1lc3NhZ2VFeHByZXNzaW9uSHRtbDogU2FmZUh0bWw7XG59XG4iXX0=
|
|
471
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12aWV3LWl0ZW0tcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2R5bmFtaWMtY29tcG9uZW50L2Jhc2Utdmlldy1pdGVtLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUVKLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRyxPQUFPLEVBSUgsUUFBUSxFQUlYLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQVMzRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBZ0VsRSxZQUNjLEdBQWUsRUFDZixhQUEyQixFQUMzQixJQUF1QixFQUN2QixnQkFBbUMsRUFDWCx1QkFBeUMsRUFDN0MsaUJBQW1DLEVBQzNDLGVBQStCO1FBRXJELEtBQUssRUFBRSxDQUFDO1FBUkUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDWCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWtCO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBbEN6RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUVwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFLMUIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQVU1Qix1QkFBa0IsR0FBOEIsSUFBSSxDQUFDO1FBQzdDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDN0MsNEJBQXVCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWdCbEQsSUFBSSxDQUFDLGNBQWM7YUFDZCxZQUFZLEVBQUU7YUFDZCxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzFFLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzdDO2FBQ0EsU0FBUyxDQUFDLENBQUMsR0FBK0QsRUFBRSxFQUFFO1lBQzNFLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtnQkFDWCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDNUI7WUFDRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssWUFBWSxFQUFFO2dCQUNyRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM3QztpQkFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxDQUFDLHVCQUF1QjthQUN2QixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUMvQixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEtBQUssV0FBVyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQzthQUNuQztRQUNMLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQXhGRCxJQUFhLG1CQUFtQixDQUFDLEdBQVc7UUFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQWEsZ0JBQWdCLENBQUMsR0FBZ0I7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBYSxVQUFVLENBQUMsR0FBd0I7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFhLG9CQUFvQixDQUFDLEdBQVc7UUFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBdUVELElBQVksb0JBQW9CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzlDLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDLGFBQWEsRUFBRTtvQkFDcEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7d0JBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3FCQUM3QztpQkFDSjtxQkFBTSxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUU7b0JBQy9CLGNBQWMsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2FBQ0o7U0FDSjtRQUNELElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtZQUNyQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxjQUFjLEVBQUUsWUFBWSxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xGLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDekI7YUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDekYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUN2QztRQUNELElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDOUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDekQ7U0FDSjtRQUNELHFHQUFxRztRQUNyRywrREFBK0Q7UUFDL0QsSUFBSTtJQUNSLENBQUM7SUFDRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUN4RjtJQUNMLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsUUFBcUIsRUFBRSxLQUFhO1FBQ3pELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDeEM7Z0hBQ29HLENBQ3ZHLENBQUM7UUFDRixJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUN4RCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1gsYUFBNkIsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0QsWUFBWSxDQUFDLENBQUMsRUFBRSxLQUFLO1FBQ2pCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUN6QyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELFFBQVEsQ0FBQyxXQUFtQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsYUFBYTtRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsQ0FBZ0M7UUFDckQsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ2IsS0FBSyxVQUFVO2dCQUNYLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsTUFBTTtZQUNWLEtBQUssVUFBVTtnQkFDWCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU07WUFDVixLQUFLLFlBQVk7Z0JBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixNQUFNO1NBQ2I7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFdBQStCO1FBQ2pELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbEUsS0FBSyxFQUFFLFFBQVE7U0FDbEIsQ0FBQztJQUNOLENBQUM7SUFDRCx5QkFBeUI7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZELHNEQUFzRDtJQUMxRCxDQUFDO0lBQ0Qsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxjQUFjLENBQUMsS0FBYSxFQUFFLE1BQXdCO1FBQ2xELE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDUyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUNTLGlCQUFpQixDQUFDLFdBQW1CO1FBQzNDLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakMsV0FBVyxHQUFHLEdBQUcsV0FBVyxFQUFFLENBQUM7WUFDL0IsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUNTLHFCQUFxQjtRQUMzQixJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hELElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzFCLDJCQUEyQjtZQUMzQixPQUFPO1NBQ1Y7UUFDRCxJQUNJLGdCQUFnQjtZQUNoQixVQUFVO1lBQ1YsT0FBTyxvQkFBb0IsS0FBSyxXQUFXO1lBQzNDLElBQUksQ0FBQyxvQkFBb0IsRUFDM0I7WUFDRSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUNuQyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDbEQsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLG9CQUFvQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO2FBQzNCO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRW5DLElBQUksQ0FBQyxjQUFjLEdBQUc7Z0JBQ2xCLFdBQVcsRUFBRSxnQkFBZ0I7Z0JBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDbkIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3ZCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLGdCQUFnQixFQUFFLElBQUk7YUFDekIsQ0FBQztZQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFDUyxXQUFXO1FBQ2pCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsSUFBSTtRQUNKLGtGQUFrRjtRQUNsRixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLElBQUk7UUFDSixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUMzRCxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ0osT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRVMscUJBQXFCLENBQUMsTUFBTTtRQUNsQyx1REFBdUQ7UUFDdkQsZ0NBQWdDO1FBQ2hDLDZCQUE2QjtRQUM3QiwwQkFBMEI7UUFDMUIsbUNBQW1DO1FBQ25DLFFBQVE7UUFDUixNQUFNO1FBQ04sMkJBQTJCO1FBQzNCLHVDQUF1QztRQUN2QyxJQUFJO0lBQ1IsQ0FBQztJQUNTLFNBQVM7UUFDZix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLElBQUk7UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVMsMEJBQTBCLENBQUMsU0FBa0I7UUFDbkQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLE1BQU0sVUFBVSxHQUFnQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO1lBQ3RGLElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRTtnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO3dCQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWE7d0JBQ25ELEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTt3QkFDWCxVQUFVO3dCQUNWLEdBQUcsRUFBRSxTQUFTO3FCQUNqQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0lBQ0wsQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUNTLE9BQU87UUFDYixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN0RSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0UsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyw2RUFBNkU7UUFDekksSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVTLHlCQUF5QixDQUFDLE1BQTJCLEVBQUUsSUFBeUI7UUFDdEYsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQzthQUNqRDtZQUNELElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO2FBQzNDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFUyw2QkFBNkIsQ0FBQyxNQUEwQjtRQUM5RCxNQUFNLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFDUyxxQkFBcUIsQ0FBQyxFQUF1QixFQUFFLFNBQWlCO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcseUJBQXlCLENBQzNDLElBQUksQ0FBQyxXQUFXLEVBQ2hCLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFDVCxTQUFTLEVBQ1QsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLEtBQUs7WUFDViwyRUFBMkU7YUFDOUUsQ0FBQztTQUNMO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDbkIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckUsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xELENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRVMsNEJBQTRCO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHO1lBQ1gsR0FBRyxJQUFJLENBQUMsRUFBRTtZQUNWLFVBQVUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLFVBQVU7WUFDekMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsVUFBVTtZQUN6QyxlQUFlLEVBQUUsRUFBRTtTQUN0QixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDbEUsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN2RixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxLQUFLLGFBQWEsRUFBRTtnQkFDckYsY0FBYyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZFLGdGQUFnRjtnQkFDaEYsMkVBQTJFO2FBQzlFO1lBQ0QsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNTLGVBQWUsQ0FBQyxHQUFHO1FBQ3pCLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUNTLHdCQUF3QixDQUFDLE1BQU07UUFDckMsNkRBQTZEO1FBQzdELE9BQU8sSUFBSSxPQUFPLENBQTZELENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNwQyw2REFBNkQ7Z0JBQzdELE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ3BEO1lBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUM3QixzQkFBc0I7WUFFdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDcEMsdUJBQXVCO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3VIQXBkUSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw4eEJBSHpCLEVBQUU7MkZBR0gsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBc0VRLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs0Q0F0RW9DLGdCQUFnQjtzQkFBaEUsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ3RDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRU8sbUJBQW1CO3NCQUEvQixLQUFLO2dCQUtPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQU1PLG9CQUFvQjtzQkFBaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmcm9tLCB0YXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxuICAgIEZvcm1TZXR0aW5nLFxuICAgIEJhcnNhQXBpLFxuICAgIENob2ljZURlZixcbiAgICBUeXBlVWx2TWFpbkN0cmxyLFxuICAgIEJydWxlQWN0aW9uTWVzc2FnZVxufSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcbmltcG9ydCB7IFByZXZlbnREZWZhdWxFdmVudCwgY3JlYXRlR3JpZEVkaXRvckZvcm1QYW5lbCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlLCBVbHZNYWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEJhc2VWaWV3UHJvcHNDb21wb25lbnQgfSBmcm9tICcuL2Jhc2Utdmlldy1wcm9wcyc7XG5pbXBvcnQgeyBNb1JlcG9ydFZhbHVlUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbnR5cGUgUmVhc29uVG9TYXZlID0gJ1RBQicgfCAnQ1RSTCtFTlRFUicgfCAnQ0hFQ0tfQ0hBTkdFRCcgfCAnRVNDJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1iYXNlLXZpZXctaXRlbS1wcm9wcycsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpZXdQcm9wc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCdjYXJ0YWJsZUZvcm1SZWYnLCB7IHN0YXRpYzogZmFsc2UgfSkgX2NhcnRhYmxlRm9ybVJlZjogRm9ybUNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0Q291bnQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGxhc3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNDaGVja2VkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dWaWV3QnV0dG9uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTmV3SW5saW5lTW86IGJvb2xlYW47XG4gICAgQElucHV0KCkgZXh0cmFSZWxhdGlvbjogYW55O1xuICAgIEBJbnB1dCgpIGhpZGVPcGVuSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0luZGljYXRvcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dJbmRpY2F0b3JDb2xvcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIFVsdk1haW5DdHJscjogVHlwZVVsdk1haW5DdHJscjtcbiAgICBASW5wdXQoKSBmaWVsZERpY3Q6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICBASW5wdXQoKSBzZXQgc2VyaWFsaXplZFJlbGF0ZWRNbyh2YWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXJpYWxpemVkUmVsYXRlZE1vID0gdmFsO1xuICAgICAgICB0aGlzLl91cGRhdGVDYXJ0YWJsZU1vKHZhbCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNhcnRhYmxlUGFyYW1zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBjYXJ0YWJsZVRlbXBsYXRlKHZhbDogRm9ybVNldHRpbmcpIHtcbiAgICAgICAgdGhpcy5fY2FydGFibGVUZW1wbGF0ZSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2FydGFibGVQYXJhbXMoKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGNhcnRhYmxlTW8odmFsOiBNZXRhb2JqZWN0RGF0YU1vZGVsKSB7XG4gICAgICAgIHRoaXMuX2NhcnRhYmxlTW8gPSB2YWw7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNhcnRhYmxlTW8odGhpcy5fc2VyaWFsaXplZFJlbGF0ZWRNbyk7XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlQ2FydGFibGVQYXJhbXMoKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGNhcnRhYmxlV29ya2Zsb3dEYXRhKHZhbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NhcnRhYmxlV29ya2Zsb3dEYXRhID0gdmFsO1xuICAgICAgICB0aGlzLl9jcmVhdGVDYXJ0YWJsZVBhcmFtcygpO1xuICAgIH1cbiAgICBoYXNFcnJvciA9IGZhbHNlO1xuICAgIF9mb2N1c1RvRmlyc3RFaWR0YWJsZUNvbHVtbiA9IGZhbHNlO1xuICAgIF9sYXN0RWRpdGFibGVDb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIGlubGluZUVkaXRJblJlcG9ydCA9IHRydWU7XG4gICAgbGF5b3V0JDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgc2F2aW5nOiBib29sZWFuO1xuICAgIHNhdmVkOiBib29sZWFuO1xuICAgIGluUm93ID0gdHJ1ZTtcbiAgICBoYXNDYXJ0YWJsZVRlbXBsYXRlID0gZmFsc2U7XG4gICAgY2FydGFibGVQYXJhbXM6IHtcbiAgICAgICAgZm9ybVNldHRpbmc6IEZvcm1TZXR0aW5nO1xuICAgICAgICBtb0lkOiBzdHJpbmc7XG4gICAgICAgIHR5cGVEZWZJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICB2aWV3SWQ6IGFueTtcbiAgICAgICAgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgICAgIGxvYWRBY3Rpdml0eVZpZXc6IGJvb2xlYW47XG4gICAgfTtcbiAgICB3b3JrZmxvd1N0YXRlOiB7IGVycm9yOiBhbnk7IHN0YXRlOiAnUGVuZGluZycgfCAnRmluaXNoJyB8ICcnIH07XG4gICAgYnJ1bGVBY3Rpb25NZXNzYWdlOiBCcnVsZUFjdGlvbk1lc3NhZ2UgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9zYXZlRWRpdGVkTW8kID0gbmV3IFN1YmplY3Q8UmVhc29uVG9TYXZlPigpO1xuICAgIHByaXZhdGUgX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX2Zvcm1QYW5lbExvYWRlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9jYXJ0YWJsZU1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlVGVtcGxhdGU6IEZvcm1TZXR0aW5nO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlV29ya2Zsb3dEYXRhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfc2VyaWFsaXplZFJlbGF0ZWRNbzogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfcmVwb3J0VmFsdWVQaXBlOiBNb1JlcG9ydFZhbHVlUGlwZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJvdGVjdGVkIF9wYXJlbnRGb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBfZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChyZWFzb246IFJlYXNvblRvU2F2ZSkgPT4gdGhpcy5faW5saW5lRWRpdFNhdmVGb3JtUGFuZWwocmVhc29uKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IHsgcmVhc29uOiBSZWFzb25Ub1NhdmU7IHN1Y2NlZWQ6IGJvb2xlYW47IHNhdmVkOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLnNhdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXMucmVhc29uID09PSAnVEFCJyB8fCByZXMucmVhc29uID09PSAnQ1RSTCtFTlRFUicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQodGhpcy5tbyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMucmVhc29uID09PSAnRVNDJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX3N5bmNNbygpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMubW8uJElubGluZU1vQ2hhbmdlZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW8uJElubGluZU1vQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGdldCBfaGFzRm9ybVBhbmVsU2VydmljZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UgIT09IG51bGwgJiYgdGhpcy5mb3JtU2V0dGluZztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5faGFzRm9ybVBhbmVsU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGlzQ2hlY2tlZCwgaW5saW5lRWRpdE1vZGUgfSA9IGNoYW5nZXM7XG4gICAgICAgIGxldCBuZWVkVG9Mb2FkRm9ybSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGVja2VkLmN1cnJlbnRWYWx1ZSAmJiBpc0NoZWNrZWQucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fbmVlZFRvU2F2ZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYXZlRWRpdGVkTW8kLm5leHQoJ0NIRUNLX0NIQU5HRUQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNDaGVja2VkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBuZWVkVG9Mb2FkRm9ybSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NoZWNrZWQgJiYgIWlzQ2hlY2tlZC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fcmFpc2VXb3JrZmxvd1NoYXJlQnV0dG9ucyhpc0NoZWNrZWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5saW5lRWRpdE1vZGU/LmN1cnJlbnRWYWx1ZSAmJiAhaW5saW5lRWRpdE1vZGU/LnByZXZpb3VzVmFsdWUgJiYgdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgIG5lZWRUb0xvYWRGb3JtID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5saW5lRWRpdE1vZGU/LmN1cnJlbnRWYWx1ZSAmJiBpbmxpbmVFZGl0TW9kZT8ucHJldmlvdXNWYWx1ZSAmJiB0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdFU0MnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVlZFRvTG9hZEZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRBbmRDcmVhdGVGb3JtUGFuZWxDdHJscigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLm1vICYmICFjaGFuZ2VzLm1vLmZpcnN0Q2hhbmdlICYmIHRoaXMuaW5saW5lRWRpdE1vZGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9mb3JtUGFuZWxMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLlNldFZhbHVlKGNoYW5nZXMubW8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBpZiAobW8gJiYgIW1vLmZpcnN0Q2hhbmdlICYmIHRoaXMuX2hhc0Zvcm1QYW5lbFNlcnZpY2UgJiYgdGhpcy5pc0NoZWNrZWQgJiYgdGhpcy5pbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICAvLyAgICAgLy90aGlzLmZvcm1QYW5lbEN0cmxyLlNldFZhbHVlKGNoYW5nZXMubW8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybVBhbmVsQ3RybHIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIudW4oJ2JydWxlU2hvd01lc3NhZ2VBY3Rpb24nLCB0aGlzLl9oYW5kbGVCcnVsZVNob3dNZXNzYWdlQWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBPbkNhcnRhYmxlRm9ybUNsaWNrKGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb3dDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm93Q2hlY2soKTtcbiAgICB9XG5cbiAgICBvblJvd0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ29sdW1uQ2hhbmdlVG9FZGl0TW9kZShjb2x1bW5FbDogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IGNvbHVtbkVsLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICBgYnV0dG9uLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksW2hyZWZdLGlucHV0Om5vdChbZGlzYWJsZWRdKSxpbnB1dCxcbiAgICAgICAgICAgICAgICBzZWxlY3Qsc2VsZWN0Om5vdChbZGlzYWJsZWRdKSx0ZXh0YXJlYSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pYFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9sYXN0RWRpdGFibGVDb2x1bW5JbmRleCA9IGluZGV4O1xuICAgICAgICBpZiAoIWZvY3VzYWJsZXMubGVuZ3RoIHx8IHRoaXMuX2ZvY3VzVG9GaXJzdEVpZHRhYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9jdXNUb0ZpcnN0RWlkdGFibGVDb2x1bW4gPSB0cnVlO1xuICAgICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlID0gZm9jdXNhYmxlc1swXTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAobGFzdEZvY3VzYWJsZSBhcyBIVE1MRWxlbWVudCk/LmZvY3VzKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbiAgICBvblRhYktleURvd24oZSwgaW5kZXgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLl9sYXN0RWRpdGFibGVDb2x1bW5JbmRleCkge1xuICAgICAgICAgICAgUHJldmVudERlZmF1bEV2ZW50KGUpO1xuICAgICAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdUQUInKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxTYXZlKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdDVFJMK0VOVEVSJyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbENhbmNlbChlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnRVNDJyk7XG4gICAgfVxuICAgIG9uVWx2Q29tbWFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bHZDb21tYW5kLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQWN0aW9uKGNvbW1hbmRCb2R5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb24uZW1pdChjb21tYW5kQm9keSk7XG4gICAgfVxuICAgIG9uRXhwYW5kQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2xpY2suZW1pdCh0aGlzLm1vKTtcbiAgICB9XG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xuICAgICAgICAgICAgY2FzZSAncm93Q2hlY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncm93Q2xpY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDbGljaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndWx2Q29tbWFuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblVsdkNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FydGFibGVGb3JtQ2xvc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcnRhYmxlRm9ybUNsb3NlZC5lbWl0KHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uQ2FydGFibGVCcnVsZUFjdGlvbihicnVsZUFjdGlvbjogQnJ1bGVBY3Rpb25NZXNzYWdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUJydWxlU2hvd01lc3NhZ2VBY3Rpb24oYnJ1bGVBY3Rpb24pO1xuICAgIH1cbiAgICBvbkNhcnRhYmxlQWZ0ZXJUYW5zaXRpb24oZSk6IHZvaWQge1xuICAgICAgICB0aGlzLndvcmtmbG93U3RhdGUgPSB7XG4gICAgICAgICAgICBlcnJvcjogdGhpcy5icnVsZUFjdGlvbk1lc3NhZ2UgPyB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA6IGUuZXJyb3IsXG4gICAgICAgICAgICBzdGF0ZTogJ0ZpbmlzaCdcbiAgICAgICAgfTtcbiAgICB9XG4gICAgb25DYXJ0YWJsZUJlZm9yZVRhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53b3JrZmxvd1N0YXRlID0geyBzdGF0ZTogJ1BlbmRpbmcnLCBlcnJvcjogbnVsbCB9O1xuICAgICAgICAvLyB0aGlzLndvcmtmbG93U3RhdGVDaGFuZ2VkLmVtaXQodGhpcy53b3JrZmxvd1N0YXRlKTtcbiAgICB9XG4gICAgb25SZXNldFdvcmtmbG93U3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2hhbmRsZVJlc2V0V29ya2Zsb3dTdGF0ZSgpO1xuICAgIH1cbiAgICBfdHJhY2tCeUNvbHVtbihpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29sdW1uLk5hbWV9JHtpbmRleH1gO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2hhbmRsZVJlc2V0V29ya2Zsb3dTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icnVsZUFjdGlvbk1lc3NhZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLndvcmtmbG93U3RhdGUgPSB7IHN0YXRlOiAnJywgZXJyb3I6IG51bGwgfTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF91cGRhdGVDYXJ0YWJsZU1vKHNlcmlhbGl6ZU1vOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHNlcmlhbGl6ZU1vICYmIHRoaXMuX2NhcnRhYmxlTW8pIHtcbiAgICAgICAgICAgIHNlcmlhbGl6ZU1vID0gYCR7c2VyaWFsaXplTW99YDtcbiAgICAgICAgICAgIGNvbnN0IG1vID0gQmFyc2FBcGkuRXh0LmRlY29kZShzZXJpYWxpemVNbyk7XG4gICAgICAgICAgICB0aGlzLl9jYXJ0YWJsZU1vID0geyAuLi50aGlzLl9jYXJ0YWJsZU1vLCAuLi5tbyB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY3JlYXRlQ2FydGFibGVQYXJhbXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBjYXJ0YWJsZVRlbXBsYXRlID0gdGhpcy5fY2FydGFibGVUZW1wbGF0ZTtcbiAgICAgICAgY29uc3QgY2FydGFibGVNbyA9IHRoaXMuX2NhcnRhYmxlTW87XG4gICAgICAgIGNvbnN0IGNhcnRhYmxlV29ya2Zsb3dEYXRhID0gdGhpcy5fY2FydGFibGVXb3JrZmxvd0RhdGE7XG4gICAgICAgIGlmICh0aGlzLmhhc0NhcnRhYmxlVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gdXBkYXRlIGNhcnRhYmxlIG1vO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGUgJiZcbiAgICAgICAgICAgIGNhcnRhYmxlTW8gJiZcbiAgICAgICAgICAgIHR5cGVvZiBjYXJ0YWJsZVdvcmtmbG93RGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgIHRoaXMuX3NlcmlhbGl6ZWRSZWxhdGVkTW9cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjYXJ0YWJsZVRlbXBsYXRlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjYXJ0YWJsZVRlbXBsYXRlKSk7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gY2FydGFibGVUZW1wbGF0ZS5WaWV3O1xuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZS5EYXRhID0geyBNbzogeyAuLi5jYXJ0YWJsZU1vIH0gfTtcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGUuV29ya2Zsb3cgPSBjYXJ0YWJsZVdvcmtmbG93RGF0YSA9PT0gJycgPyBudWxsIDogSlNPTi5wYXJzZShjYXJ0YWJsZVdvcmtmbG93RGF0YSk7XG4gICAgICAgICAgICBpZiAoIXZpZXcuRXh0cmFKc29uUHJvcCkge1xuICAgICAgICAgICAgICAgIHZpZXcuRXh0cmFKc29uUHJvcCA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmlldy5FeHRyYUpzb25Qcm9wLklzU2ltcGxlID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5jYXJ0YWJsZVBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICBmb3JtU2V0dGluZzogY2FydGFibGVUZW1wbGF0ZSxcbiAgICAgICAgICAgICAgICBtb0lkOiBjYXJ0YWJsZU1vLklkLFxuICAgICAgICAgICAgICAgIHR5cGVEZWZJZDogY2FydGFibGVNby4kVHlwZURlZklkLFxuICAgICAgICAgICAgICAgIHZpZXdJZDogdmlldy5UeXBlVmlld0lkLFxuICAgICAgICAgICAgICAgIGluRGlhbG9nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsb2FkQWN0aXZpdHlWaWV3OiB0cnVlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5oYXNDYXJ0YWJsZVRlbXBsYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX25lZWRUb1NhdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGlmICghdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBjb25zdCBpc0NoaWxkTm9kZSA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIC8vIGlmIChpc0NoaWxkTm9kZSkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAvLyB9XG4gICAgICAgIGNvbnN0IHQgPSB0aGlzLmlubGluZUVkaXRNb2RlICYmIHRoaXMuX2hhc0Zvcm1QYW5lbFNlcnZpY2U7XG4gICAgICAgIGlmICghdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVBhbmVsQ3RybHIgJiYgdGhpcy5mb3JtUGFuZWxDdHJsci5Jc01vQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tmb2N1c091dEZyb21Sb3codGFyZ2V0KTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnN0IGZvY3VzYWJsZTogTm9kZUxpc3QgPSB0aGlzLl9mb2N1c2FibGVDb250cm9scztcbiAgICAgICAgLy8gbGV0IGZvdW5kSW5Gb2N1c2FibGUgPSBmYWxzZTtcbiAgICAgICAgLy8gZm9jdXNhYmxlLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgLy8gICAgIGlmIChjID09PSB0YXJnZXQpIHtcbiAgICAgICAgLy8gICAgICAgICBmb3VuZEluRm9jdXNhYmxlID0gdHJ1ZTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIC8vIGlmICghZm91bmRJbkZvY3VzYWJsZSkge1xuICAgICAgICAvLyAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdUQUInKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3Jvd0NoZWNrKCk6IHZvaWQge1xuICAgICAgICAvLyBpZiAodGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yYWlzZVdvcmtmbG93U2hhcmVCdXR0b25zKGlzQ2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jYXJ0YWJsZVBhcmFtcykge1xuICAgICAgICAgICAgY29uc3QgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW10gPSB0aGlzLmNhcnRhYmxlUGFyYW1zLmZvcm1TZXR0aW5nPy5Xb3JrZmxvdz8uQ2hvaWNlTGlzdDtcbiAgICAgICAgICAgIGlmIChjaG9pY2VMaXN0Py5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyOiB0aGlzLl9jYXJ0YWJsZUZvcm1SZWYuZm9ybVBhbmVsQ3RybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vOiB0aGlzLm1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hvaWNlTGlzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZDogaXNDaGVja2VkXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5vblJvd0NoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJC5uZXh0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc3luY01vKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBzeW5jV2l0aEZvcm1wYW5lbE1vID0gdGhpcy5tbztcbiAgICAgICAgY29uc3QgX2lzQ2hlY2tlZCA9IHRoaXMubW8uJElzQ2hlY2tlZDtcbiAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybHJNbyA9IHRoaXMuZm9ybVBhbmVsQ3RybHIuTW87XG4gICAgICAgIHRoaXMuX3VwZGF0ZVdpdGhPcmlnaW5hbFZhbHVlcyhmb3JtUGFuZWxDdHJsck1vLCBzeW5jV2l0aEZvcm1wYW5lbE1vKTtcbiAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1snJE9yaWdpbmFsVmFsdWVzJ10gPSBmb3JtUGFuZWxDdHJsck1vWyckT3JpZ2luYWxWYWx1ZXMnXTtcbiAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1snJEZpZWxkRGljdCddID0gZm9ybVBhbmVsQ3RybHJNb1snJEZpZWxkRGljdCddO1xuICAgICAgICBzeW5jV2l0aEZvcm1wYW5lbE1vWyckU3RhdGUnXSA9IGZvcm1QYW5lbEN0cmxyTW9bJyRTdGF0ZSddOyAvLyB0aGlzIGFkZCBiZWNhdXNlIGlmIHdlIGVkaXQgdW5jaGFuZ2VkIG1vIGl0IGRvZXMgbm90IHJlZmxlY3QgdG8gbW8gb2YgdWx2LlxuICAgICAgICB0aGlzLm1vID0geyAuLi5zeW5jV2l0aEZvcm1wYW5lbE1vIH07XG4gICAgICAgIHRoaXMubW8uJElzQ2hlY2tlZCA9IF9pc0NoZWNrZWQ7XG4gICAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZVdpdGhPcmlnaW5hbFZhbHVlcyhzb3VyY2U6IE1ldGFvYmplY3REYXRhTW9kZWwsIGRlc3Q6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmtleXMoc291cmNlLiRPcmlnaW5hbFZhbHVlcykuZm9yRWFjaCgoYzogYW55KSA9PiB7XG4gICAgICAgICAgICBkZXN0W2NdID0gc291cmNlW2NdO1xuICAgICAgICAgICAgaWYgKHNvdXJjZVtjICsgJyRDYXB0aW9uJ10pIHtcbiAgICAgICAgICAgICAgICBkZXN0W2MgKyAnJENhcHRpb24nXSA9IHNvdXJjZVtjICsgJyRDYXB0aW9uJ107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc291cmNlW2MgKyAnJEljb24nXSkge1xuICAgICAgICAgICAgICAgIGRlc3RbYyArICckSWNvbiddID0gc291cmNlW2MgKyAnJEljb24nXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yYWlzZUZvcm1QYW5lbFZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1vKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2hhbmRsZUJydWxlU2hvd01lc3NhZ2VBY3Rpb24oYWN0aW9uOiBCcnVsZUFjdGlvbk1lc3NhZ2UpOiB2b2lkIHtcbiAgICAgICAgYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uSHRtbCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24pO1xuICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IGFjdGlvbjtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jcmVhdGVGb3JtUGFuZWxDdHJscihtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgdHlwZURlZklkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybVBhbmVsQ3RybHIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIgPSBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsKFxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVNldHRpbmcsXG4gICAgICAgICAgICAgICAgeyAuLi5tbyB9LFxuICAgICAgICAgICAgICAgIHR5cGVEZWZJZCxcbiAgICAgICAgICAgICAgICB0aGlzLmV4dHJhUmVsYXRpb24sXG4gICAgICAgICAgICAgICAgdGhpcy5pblJvd1xuICAgICAgICAgICAgICAgIC8vIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dC5TZXR0aW5nLCAnRXh0cmEuUmVsYXRpb24nKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLklubGluZUVkaXRJblJlcG9ydCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIub24oe1xuICAgICAgICAgICAgYnJ1bGVTaG93TWVzc2FnZUFjdGlvbjogdGhpcy5faGFuZGxlQnJ1bGVTaG93TWVzc2FnZUFjdGlvbi5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMuX2hhbmRsZVZhbHVlQ2hhbmdlLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9sb2FkQW5kQ3JlYXRlRm9ybVBhbmVsQ3RybHIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1TZXR0aW5nRGF0YSA9IHRoaXMuZm9ybVNldHRpbmcuRGF0YTtcbiAgICAgICAgY29uc3QgZm9ybU1vID0ge1xuICAgICAgICAgICAgLi4udGhpcy5tbyxcbiAgICAgICAgICAgICRGaWVsZERpY3Q6IGZvcm1TZXR0aW5nRGF0YS5Nby4kRmllbGREaWN0LFxuICAgICAgICAgICAgJFR5cGVEZWZJZDogZm9ybVNldHRpbmdEYXRhLk1vLiRUeXBlRGVmSWQsXG4gICAgICAgICAgICAkT3JpZ2luYWxWYWx1ZXM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLl9mb3JtUGFuZWxMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2V0VmFsdWUoZm9ybU1vKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NyZWF0ZUZvcm1QYW5lbEN0cmxyKGZvcm1NbywgdGhpcy50eXBlRGVmSWQpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxMb2FkZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuVWx2TW9EYXRhTGlzdENvdW50ID0gdGhpcy5tb0RhdGFMaXN0Q291bnQgLSAxO1xuICAgICAgICBmb3JtUGFuZWxDdHJsci5Mb2FkQW5kQ3JlYXRlKG51bGwsIGZhbHNlLCBmYWxzZSwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRNbyA9IHRoaXMuX3BhcmVudEZvcm1QYW5lbFNlcnZpY2UgPyB0aGlzLl9wYXJlbnRGb3JtUGFuZWxTZXJ2aWNlLm1vIDogbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4dHJhUmVsYXRpb24gJiYgcGFyZW50TW8gJiYgdGhpcy5leHRyYVJlbGF0aW9uLlJlbGF0aW9uVHlwZSA9PT0gJ0NvbXBvc2l0aW9uJykge1xuICAgICAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLk1vLlNldEZWYWx1ZSh0aGlzLmV4dHJhUmVsYXRpb24uUGFyZW50RmROYW1lLCBwYXJlbnRNbyk7XG4gICAgICAgICAgICAgICAgLy8gbmV3Rm9ybVNldHRpbmdzLkRhdGEuTW9bcmVsYXRpb24uUGFyZW50RmROYW1lXSA9IHBhcmVudE1vLkdldENoYW5nZWRPYmplY3QoKTtcbiAgICAgICAgICAgICAgICAvLyBuZXdGb3JtU2V0dGluZ3MuRGF0YS5Nb1tyZWxhdGlvbi5QYXJlbnRGZE5hbWVdLiRTdGF0ZSA9IHBhcmVudE1vLiRTdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1c3RvbUZvcm1QYW5lbFVpLlJlZnJlc2ggPSAoKSA9PiB7fTtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVzZXRTYXZpbmdTdGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5icnVsZUFjdGlvbk1lc3NhZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnNhdmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRTYXZpbmdTdGF0ZShlcnIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pbmxpbmVFZGl0U2F2ZUZvcm1QYW5lbChyZWFzb24pOiBQcm9taXNlPHsgcmVhc29uOiBSZWFzb25Ub1NhdmU7IHN1Y2NlZWQ6IGJvb2xlYW47IHNhdmVkOiBib29sZWFuIH0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8eyByZWFzb246IFJlYXNvblRvU2F2ZTsgc3VjY2VlZDogYm9vbGVhbjsgc2F2ZWQ6IGJvb2xlYW4gfT4oKHJlc29sdmUsIF8pID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJsci5Jc01vQ2hhbmdlZCgpKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgc3RhdGUgb2YgbW8gaXMgbmV3IG9yIG1vZGlkZmllZCB0aGVuIGl0IG5lZWRzIHRvIHVwZGF0ZVxuICAgICAgICAgICAgICAgIHJlc29sdmUoeyByZWFzb24sIHN1Y2NlZWQ6IHRydWUsIHNhdmVkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyTW8gPSB0aGlzLmZvcm1QYW5lbEN0cmxyLk1vO1xuICAgICAgICAgICAgZGVsZXRlIGZvcm1QYW5lbEN0cmxyTW8uanNvbjtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2aW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5tby4kSW5saW5lTW9DaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxTYXZlLmVtaXQodGhpcy5tbyk7XG4gICAgICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLlNhdmUoZmFsc2UsIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2V0SXNDaGFuZ2VkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRTYXZpbmdTdGF0ZShlcnIpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoeyByZWFzb24sIHN1Y2NlZWQ6IHRydWUsIHNhdmVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -25,7 +25,7 @@ export class BaseViewPropsComponent extends BaseComponent {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
BaseViewPropsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BaseViewPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
BaseViewPropsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BaseViewPropsComponent, selector: "bnrc-base-view-props", inputs: { moDataList: "moDataList", reportId: "reportId", allColumns: "allColumns", isCheckList: "isCheckList", allChecked: "allChecked", canView: "canView", visibility: "visibility", level: "level", expanded: "expanded", styleIndex: "styleIndex",
|
|
28
|
+
BaseViewPropsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BaseViewPropsComponent, selector: "bnrc-base-view-props", inputs: { moDataList: "moDataList", reportId: "reportId", allColumns: "allColumns", isCheckList: "isCheckList", allChecked: "allChecked", canView: "canView", visibility: "visibility", level: "level", expanded: "expanded", styleIndex: "styleIndex", parentExpanded: "parentExpanded", access: "access", groupby: "groupby", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", typeDefId: "typeDefId", columnsCount: "columnsCount", mobileOrTablet: "mobileOrTablet", containerWidth: "containerWidth", newInlineEditMo: "newInlineEditMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", tlbButtons: "tlbButtons", setting: "setting", parameters: "parameters", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", isChecked: "isChecked", navigationArrow: "navigationArrow" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", rowCheck: "rowCheck", workflowShareButtons: "workflowShareButtons", rowClick: "rowClick", ulvCommand: "ulvCommand", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", action: "action", expandClick: "expandClick", editFormPanelValueChange: "editFormPanelValueChange", cartableFormClosed: "cartableFormClosed" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BaseViewPropsComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{
|
|
@@ -53,8 +53,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
53
53
|
type: Input
|
|
54
54
|
}], styleIndex: [{
|
|
55
55
|
type: Input
|
|
56
|
-
}], workflowState: [{
|
|
57
|
-
type: Input
|
|
58
56
|
}], parentExpanded: [{
|
|
59
57
|
type: Input
|
|
60
58
|
}], access: [{
|
|
@@ -144,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
144
142
|
}], cartableFormClosed: [{
|
|
145
143
|
type: Output
|
|
146
144
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12aWV3LXByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9keW5hbWljLWNvbXBvbmVudC9iYXNlLXZpZXctcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBT25FLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBTHpEOztRQXdDYSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVwQixRQUFHLEdBQUcsSUFBSSxDQUFDO1FBS1YsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUE4QyxDQUFDO1FBQzFFLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQ2pFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBOEMsQ0FBQztRQUMxRSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQThDLENBQUM7UUFDNUUsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDNUQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDakUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUNuRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBOEMsQ0FBQztLQUlqRztJQUhHLFdBQVcsQ0FBQyxLQUFhLEVBQUUsR0FBd0I7UUFDL0MsT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDekQsQ0FBQzs7bUhBekRRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9zREFIckIsRUFBRTsyRkFHSCxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUVZLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHdCQUF3QjtzQkFBakMsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgIERldmljZVNpemUsXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBTaGFyZUJ1dHRvbnNDaG9pY2VEZWZcbn0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1iYXNlLXZpZXctcHJvcHMnLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlVmlld1Byb3BzQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIEBJbnB1dCgpIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgYWxsQ29sdW1uczogYW55O1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFsbENoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2FuVmlldzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB2aXNpYmlsaXR5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxldmVsOiBudW1iZXI7XG4gICAgQElucHV0KCkgZXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3R5bGVJbmRleDogbnVtYmVyW107XG4gICAgQElucHV0KCkgcGFyZW50RXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWNjZXNzOiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgQElucHV0KCkgZ3JvdXBieTogYW55O1xuICAgIEBJbnB1dCgpIGNvbmRpdGlvbmFsRm9ybWF0czogYW55O1xuICAgIEBJbnB1dCgpIGRldmljZU5hbWU6IERldmljZVNpemU7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGNvbHVtbnM6IGFueTtcbiAgICBASW5wdXQoKSBhbGxvd0lubGluZUVkaXQ6IGFueTtcbiAgICBASW5wdXQoKSBzZWNvbmRhcnlDb2x1bW5zOiBhbnk7XG4gICAgQElucHV0KCkgcG9waW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBhbnk7XG4gICAgQElucHV0KCkgbW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29udGFpbmVyV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBuZXdJbmxpbmVFZGl0TW86IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9ubHlJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0hvdmVyYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0bGJCdXR0b25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBzZXR0aW5nOiBhbnkgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHBhcmFtZXRlcnM6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgZm9ybVNldHRpbmc6IGFueTtcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dBY3RpdmFibGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBhbnk7XG4gICAgQElucHV0KCkgcnRsID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIEBJbnB1dCgpIHRpdGxlO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tlZDtcbiAgICBASW5wdXQoKSBuYXZpZ2F0aW9uQXJyb3c6IHN0cmluZztcbiAgICBAT3V0cHV0KCkgcmVzZXRXb3JrZmxvd1N0YXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBkZXNlbGVjdEFsbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcm93Q2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IGluZGV4OiBudW1iZXIgfT4oKTtcbiAgICBAT3V0cHV0KCkgd29ya2Zsb3dTaGFyZUJ1dHRvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlQnV0dG9uc0Nob2ljZURlZj4oKTtcbiAgICBAT3V0cHV0KCkgcm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IGluZGV4OiBudW1iZXIgfT4oKTtcbiAgICBAT3V0cHV0KCkgdWx2Q29tbWFuZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgaW5kZXg6IG51bWJlciB9PigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgc2VsZWN0TmV4dElubGluZVJlY29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIGV4cGFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGNhcnRhYmxlRm9ybUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgaW5kZXg6IG51bWJlciB9PigpO1xuICAgIF90cmFja0J5Um93KGluZGV4OiBudW1iZXIsIHJvdzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtyb3cuJEdyb3VwID8gcm93LiRHcm91cCA6IHJvdy5JZH0ke2luZGV4fWA7XG4gICAgfVxufVxuIl19
|