ngx-bimplus-components 0.0.2 → 0.0.4
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/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +1 -2
- package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +18 -19
- package/esm2022/lib/ngx-bimplus-components.service.mjs +2 -3
- package/esm2022/public-api.mjs +6 -6
- package/fesm2022/ngx-bimplus-components.mjs +695 -698
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-main-menu/bimplus-main-menu.component.d.ts +4 -4
- package/lib/ngx-bimplus-components.service.d.ts +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -5
|
@@ -26,24 +26,23 @@ function createDefaultVisualSettings() {
|
|
|
26
26
|
return settings;
|
|
27
27
|
}
|
|
28
28
|
// Use when implementing embedded mode
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}*/
|
|
29
|
+
// function createEmbeddedSettings() : ToolHubVisualSettings{
|
|
30
|
+
// const settings : ToolHubVisualSettings = {
|
|
31
|
+
// subMenuStartAngle : 50,
|
|
32
|
+
// subMenuEndAngle : 130,
|
|
33
|
+
// svgRadiusInner : 4,
|
|
34
|
+
// svgRadius : 7.25,
|
|
35
|
+
// subMenuCenter : [17.25, 17.3],
|
|
36
|
+
// subMenuRadius : 16.2,
|
|
37
|
+
// subMenuWidth : 62,
|
|
38
|
+
// deadZoneCenter : [16.5, 16],
|
|
39
|
+
// deadZoneWidth : 120,
|
|
40
|
+
// deadZoneRadius : 18,
|
|
41
|
+
// deadZoneStartAngle : 35,
|
|
42
|
+
// deadZoneEndAngle : 145
|
|
43
|
+
// }
|
|
44
|
+
// return settings;
|
|
45
|
+
// }
|
|
47
46
|
function createDefaultItems() {
|
|
48
47
|
const items = [
|
|
49
48
|
//--- create task ---------------------------------------------------
|
|
@@ -385,4 +384,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
385
384
|
}], subItemClicked: [{
|
|
386
385
|
type: Output
|
|
387
386
|
}] } });
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy10b29sLWh1Yi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLXRvb2wtaHViL2JpbXBsdXMtdG9vbC1odWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy10b29sLWh1Yi9iaW1wbHVzLXRvb2wtaHViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQTtBQUVsSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7Ozs7QUFHekUsU0FBUywyQkFBMkI7SUFDbEMsTUFBTSxRQUFRLEdBQTJCO1FBQ3ZDLGlCQUFpQixFQUFHLEVBQUU7UUFDdEIsZUFBZSxFQUFHLEdBQUc7UUFDckIsY0FBYyxFQUFHLElBQUk7UUFDckIsU0FBUyxFQUFHLEtBQUs7UUFDakIsYUFBYSxFQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztRQUM3QixhQUFhLEVBQUcsSUFB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QixtTkN2UnRDLDAvR0EwRE0sMmlxQ0RtSk0sWUFBWSwwUEFBRSxvQkFBb0IsdUdBQUUsdUJBQXVCLDJHQUFFLGtCQUFrQjs7MkZBSzlFLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixDQUFDLGlCQUczRSxpQkFBaUIsQ0FBQyxTQUFTO3FGQWlCSCxJQUFJO3NCQUExQyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0UsR0FBRztzQkFBeEMsV0FBVzt1QkFBQyxjQUFjOztzQkFBRyxLQUFLO2dCQUt0QixLQUFLO3NCQUFqQixLQUFLO2dCQXFCRixRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBMEJFLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM1QixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgfSBmcm9tIFwiLi8uLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudFwiXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU1ZHR2VuZXJhdG9yIH0gZnJvbSAnLi9zdmdHZW5lcmF0b3InO1xyXG5pbXBvcnQgeyBUb29sSHViSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdG9vbC1odWItaXRlbS90b29sLWh1Yi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2xIdWJTdWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90b29sLWh1Yi1zdWItaXRlbS90b29sLWh1Yi1zdWItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RyYWdnYWJsZS5kaXJlY3RpdmUnXHJcbmltcG9ydCB7IFRvb2xIdWJJdGVtLCBUb29sSHViU3ViSXRlbSwgVG9vbEh1YlZpc3VhbFNldHRpbmdzLCBUb29sSHViSXRlbVVuaXRzIH0gZnJvbSAnLi9iaW1wbHVzLXRvb2wtaHViLmludGVyZmFjZSc7XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVEZWZhdWx0VmlzdWFsU2V0dGluZ3MoKSA6IFRvb2xIdWJWaXN1YWxTZXR0aW5nc3tcclxuICBjb25zdCBzZXR0aW5ncyA6IFRvb2xIdWJWaXN1YWxTZXR0aW5ncyA9IHtcclxuICAgIHN1Yk1lbnVTdGFydEFuZ2xlIDogNTAsXHJcbiAgICBzdWJNZW51RW5kQW5nbGUgOiAxMzAsXHJcbiAgICBzdmdSYWRpdXNJbm5lciA6IDUuNzUsXHJcbiAgICBzdmdSYWRpdXMgOiAxMC4yNSxcclxuICAgIHN1Yk1lbnVDZW50ZXIgOiBbMTcuMjUsIDE3LjVdLFxyXG4gICAgc3ViTWVudVJhZGl1cyA6IDE1LjUsXHJcbiAgICBzdWJNZW51V2lkdGggOiA1MixcclxuICAgIGRlYWRab25lQ2VudGVyIDogWzE3LCAxOF0sXHJcbiAgICBkZWFkWm9uZVdpZHRoIDogMTQwLFxyXG4gICAgZGVhZFpvbmVSYWRpdXMgOiAyMixcclxuICAgIGRlYWRab25lU3RhcnRBbmdsZSA6IDQ1LFxyXG4gICAgZGVhZFpvbmVFbmRBbmdsZSA6IDEzNVxyXG4gIH1cclxuICByZXR1cm4gc2V0dGluZ3M7XHJcbn1cclxuXHJcbi8vIFVzZSB3aGVuIGltcGxlbWVudGluZyBlbWJlZGRlZCBtb2RlXHJcbi8qXHJcbmZ1bmN0aW9uIGNyZWF0ZUVtYmVkZGVkU2V0dGluZ3MoKSA6IFRvb2xIdWJWaXN1YWxTZXR0aW5nc3tcclxuICBjb25zdCBzZXR0aW5ncyA6IFRvb2xIdWJWaXN1YWxTZXR0aW5ncyA9IHtcclxuICAgIHN1Yk1lbnVTdGFydEFuZ2xlIDogNTAsXHJcbiAgICBzdWJNZW51RW5kQW5nbGUgOiAxMzAsXHJcbiAgICBzdmdSYWRpdXNJbm5lciA6IDQsXHJcbiAgICBzdmdSYWRpdXMgOiA3LjI1LFxyXG4gICAgc3ViTWVudUNlbnRlciA6IFsxNy4yNSwgMTcuM10sXHJcbiAgICBzdWJNZW51UmFkaXVzIDogMTYuMixcclxuICAgIHN1Yk1lbnVXaWR0aCA6IDYyLFxyXG4gICAgZGVhZFpvbmVDZW50ZXIgOiBbMTYuNSwgMTZdLFxyXG4gICAgZGVhZFpvbmVXaWR0aCA6IDEyMCxcclxuICAgIGRlYWRab25lUmFkaXVzIDogMTgsXHJcbiAgICBkZWFkWm9uZVN0YXJ0QW5nbGUgOiAzNSxcclxuICAgIGRlYWRab25lRW5kQW5nbGUgOiAxNDVcclxuICB9XHJcbiAgcmV0dXJuIHNldHRpbmdzO1xyXG59Ki9cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRJdGVtcygpIDogQXJyYXk8VG9vbEh1Ykl0ZW0+e1xyXG4gIGNvbnN0IGl0ZW1zIDogQXJyYXk8VG9vbEh1Ykl0ZW0+ID0gW1xyXG4gICAgLy8tLS0gY3JlYXRlIHRhc2sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRDcmVhdGVUYXNrJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1jcmVhdGUtdGFzaycsXHJcbiAgICAgIHRleHQ6ICdfQ3JlYXRlX2lzc3VlX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX0NyZWF0ZV9pc3N1ZV9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0NyZWF0ZV9pc3N1ZV9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gcXVhbnRpdHkgdGFrZW9mZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHtcclxuICAgICAgYnV0dG9uSWQ6ICdjbUJ1dFF1YW50aXR5VGFrZU9mZicsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tcXVhbnRpdHktdGFrZS1vZmYnLFxyXG4gICAgICB0ZXh0OiAnX1F1YW50aXR5X3Rha2VfT2ZmX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX1F1YW50aXR5X3Rha2VfT2ZmX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwRGlzYWJsZWQgOiAnX1F1YW50aXR5X3Rha2VfT2ZmX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICBkaXNhYmxlZCA6IHRydWVcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gbWFya3VwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAge1xyXG4gICAgICBidXR0b25JZDogJ2NtQnV0TWFya3VwJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1tYXJrdXAnLFxyXG4gICAgICB0ZXh0OiAnX01hcmt1cHNfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfTWFya3Vwc19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX01hcmt1cHNfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICB9LFxyXG5cclxuICAgIC8vLS0tIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRTZWN0aW9uJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1zZWN0aW9uJyxcclxuICAgICAgdGV4dDogJ19TZWN0aW9uaW5nX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX1NlY3Rpb25pbmdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXBEaXNhYmxlZDogJ19TZWN0aW9uaW5nX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgfSxcclxuXHJcbiAgICAvLy0tLSBoaWRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAge1xyXG4gICAgICBidXR0b25JZDogJ2NtQnV0T2JqVHJhbnNwTWVudScsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tb2JqLXRyYW5zcCcsXHJcbiAgICAgIHRleHQ6ICdfSGlkZV9vYmplY3RzX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX0hpZGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0hpZGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gaXNvbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHtcclxuICAgICAgYnV0dG9uSWQ6ICdjbUJ1dE9ialNlbCcsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tb2JqLXNlbGVjdCcsXHJcbiAgICAgIHRleHQ6ICdfSXNvbGF0ZV9vYmplY3RzX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX0lzb2xhdGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0lzb2xhdGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gbmF2aWdhdGlvbiBtYXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXROYXZpZ2F0aW9uTWFwJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1uYXZpZ2F0aW9uLW1hcCcsXHJcbiAgICAgIHRleHQ6ICdfTmF2aWdhdGlvbl9uYXBfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfTmF2aWdhdGlvbl9uYXBfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXBEaXNhYmxlZDogJ19OYXZpZ2F0aW9uX25hcF9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gZnVsbHNjcmVlbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRGdWxsU2NyZWVuJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1mdWxsc2NyZWVuJyxcclxuICAgICAgdGV4dDogJ19GdWxsc2NyZWVuX25vZGVfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfRnVsbHNjcmVlbl9ub2RlX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfRnVsbHNjcmVlbl9ub2RlX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIC8vLS0tIHByb2plY3QgbmF2aWdhdG9yIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAge1xyXG4gICAgICBidXR0b25JZDogJ2NtQnV0UHJvamVjdE5hdmlnYXRvcicsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tcHJvamVjdC1uYXZpZ2F0b3InLFxyXG4gICAgICB0ZXh0OiAnX1Byb2plY3RfbmF2aWdhdG9yX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX1Byb2plY3RfbmF2aWdhdG9yX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfUHJvamVjdF9uYXZpZ2F0b3JfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gcmVzZXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tb2JqLXJlc2V0JyxcclxuICAgICAgYnV0dG9uSWQ6ICdjbUJ1dFJlc2V0T2JqJyxcclxuICAgICAgdGV4dDogJ19SZXNldF92aWV3cG9ydF9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcDogJ19SZXNldF92aWV3cG9ydF9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX1Jlc2V0X3ZpZXdwb3J0X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIC8vLS0tIHZpZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRSZXNldFZwJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1yZXNldC12cCcsXHJcbiAgICAgIHRleHQ6ICdfU2VsZWN0X3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfU2VsZWN0X3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXBEaXNhYmxlZDogJ19TZWxlY3Rfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgc3ViTWVudUlkOiAnY21iLXZpZXctc3VibWVudScsXHJcbiAgICAgIHN1Ykl0ZW1zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYnV0dG9uSWQ6ICdjbUJ1dEZyb250VmlldycsXHJcbiAgICAgICAgICBpY29uQ2xhc3M6ICd1aS1pY29uLWZyb250LXZpZXcnLFxyXG4gICAgICAgICAgdGV4dDogJ19Gcm9udF92aWV3X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICAgICAgdG9vbHRpcDogJ19Gcm9udF92aWV3X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0Zyb250X3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICBhY3Rpb25DbGljazogJ2NlbnRlck1lbnVGcm9udFZpZXdDbGljaycsXHJcbiAgICAgICAgfSxcclxuICAgIFxyXG4gICAgICAgIC8vLS0tIFRvcCBWaWV3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJ1dHRvbklkOiAnY21CdXRUb3BWaWV3JyxcclxuICAgICAgICAgIGljb25DbGFzczogJ3VpLWljb24tdG9wLXZpZXcnLFxyXG4gICAgICAgICAgdGV4dDogJ19Ub3Bfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdfVG9wX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfVG9wX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICBhY3Rpb25DbGljazogJ2NlbnRlck1lbnVUb3BWaWV3Q2xpY2snLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8tLS0gU2lkZSBWaWV3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJ1dHRvbklkOiAnY21CdXRTaWRlVmlldycsXHJcbiAgICAgICAgICBpY29uQ2xhc3M6ICd1aS1pY29uLXNpZGUtdmlldycsXHJcbiAgICAgICAgICB0ZXh0OiAnX1NpZGVfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdfU2lkZV92aWV3X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICAgICAgdG9vbHRpcERpc2FibGVkOiAnX1NpZGVfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIGFjdGlvbkNsaWNrOiAnY2VudGVyTWVudVNpZGVWaWV3Q2xpY2snLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8tLS0gUGVyc3BlY3RpdmUgVmlldyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICB7XHJcbiAgICAgICAgICBidXR0b25JZDogJ2NtQnV0UGVyc3BlY3RpdmVWaWV3JyxcclxuICAgICAgICAgIGljb25DbGFzczogJ3VpLWljb24tcGVyc3BlY3RpdmUtdmlldycsXHJcbiAgICAgICAgICB0ZXh0OiAnX1BlcnNwZWN0aXZlX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICB0b29sdGlwOiAnX1BlcnNwZWN0aXZlX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfUGVyc3BlY3RpdmVfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIGFjdGlvbkNsaWNrOiAnY2VudGVyTWVudVBlcnNwZWN0aXZlVmlld0NsaWNrJyxcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH1cclxuICBdXHJcblxyXG4gIHJldHVybiBpdGVtcztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy10b29sLWh1YicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sSHViSXRlbUNvbXBvbmVudCwgVG9vbEh1YlN1Ykl0ZW1Db21wb25lbnQsIERyYWdnYWJsZURpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtdG9vbC1odWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLXRvb2wtaHViLmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNUb29sSHViQ29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudHtcclxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXHJcblxyXG4gICAgdGhpcy5pdGVtcyA9IGNyZWF0ZURlZmF1bHRJdGVtcygpO1xyXG4gICAgdGhpcy5fdmlzdWFsU2V0dGluZ3MgPSBjcmVhdGVEZWZhdWx0VmlzdWFsU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuX3VuaXRzID0gdGhpcy5jYWxjdWxhdGVDdXJyZW50TWVudUl0ZW1Vbml0cygpO1xyXG4gICAgdGhpcy5fc3ViTWVudVVuaXRzID0gdGhpcy5jYWxjdWxhdGVDdXJyZW50U3ViTWVudUl0ZW1Vbml0cygpO1xyXG4gICAgdGhpcy5fYW5udWxhclNlY3RvciA9IFNWR0dlbmVyYXRvci5nZW5lcmF0ZUFubnVsYXJTZWN0b3IodGhpcy5fdmlzdWFsU2V0dGluZ3MpOyBcclxuICAgIHRoaXMuX2FubnVsYXJTZWN0b3JCb3JkZXIgPSBTVkdHZW5lcmF0b3IuZ2VuZXJhdGVBbm51bGFyU2VjdG9yQm9yZGVyKHRoaXMuX3Zpc3VhbFNldHRpbmdzKTtcclxuICAgIHRoaXMuX2RlYWRab25lQW5udWxhclNlY3RvciA9IFNWR0dlbmVyYXRvci5nZW5lcmF0ZURlYWRab25lQW5udWxhclNlY3Rvcih0aGlzLl92aXN1YWxTZXR0aW5ncyk7XHJcbiAgXHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQucHgnKSBASW5wdXQoKSBsZWZ0OiBudW1iZXIgPSA1MDA7XHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AucHgnKSBASW5wdXQoKSB0b3A6IG51bWJlciA9IDUwMDtcclxuXHJcbiAgZ2V0IGl0ZW1zKCkgOiBBcnJheTxUb29sSHViSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IEFycmF5PFRvb2xIdWJJdGVtPikge1xyXG4gICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcclxuXHJcbiAgICBjb25zdCBidXR0b25zTGVuZ3RoID0gKCh0aGlzLl9pdGVtcz8ubGVuZ3RoKSA+IDApID8gdGhpcy5faXRlbXMubGVuZ3RoIDogMTtcclxuICAgIGNvbnN0IHJvb3RTdHlsZSA9IGRvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQ/LnN0eWxlO1xyXG4gICAgaWYgKHJvb3RTdHlsZSkge1xyXG4gICAgICBjb25zdCBtZW51SXRlbXMgPSByb290U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIi0tbWVudS1pdGVtc1wiKTtcclxuICAgICAgcGFyc2VJbnQobWVudUl0ZW1zKSAhPSBidXR0b25zTGVuZ3RoICYmIHJvb3RTdHlsZS5zZXRQcm9wZXJ0eShcIi0tbWVudS1pdGVtc1wiLCBidXR0b25zTGVuZ3RoLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGl2ZVN1Ykl0ZW1zKCkgOiBBcnJheTxUb29sSHViU3ViSXRlbT4gfCBudWxse1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgdGl0bGUgOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBnZXQgaXNPcGVuZWQoKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBcclxuICBzZXQgaXNPcGVuZWQodmFsdWU6IGJvb2xlYW4pe1xyXG4gICAgdGhpcy5faXNPcGVuZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMudGl0bGUgPSB0aGlzLl9pc09wZW5lZCA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfTWluaW1pemVfdG9vbGh1Yl90b29sdGlwJykgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX1Nob3dfdG9vbGh1Yl90b29sdGlwJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgdW5pdHMoKTogVG9vbEh1Ykl0ZW1Vbml0c3tcclxuICAgIHJldHVybiB0aGlzLl91bml0cztcclxuICB9XHJcblxyXG4gIGdldCBzdWJNZW51VW5pdHMoKTogVG9vbEh1Ykl0ZW1Vbml0c3tcclxuICAgIHJldHVybiB0aGlzLl9zdWJNZW51VW5pdHM7XHJcbiAgfVxyXG5cclxuICBnZXQgYW5udWxhclNlY3RvcigpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5fYW5udWxhclNlY3RvcjtcclxuICB9XHJcblxyXG4gIGdldCBhbm51bGFyU2VjdG9yQm9yZGVyKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLl9hbm51bGFyU2VjdG9yQm9yZGVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRlYWRab25lQW5udWxhclNlY3RvcigpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVhZFpvbmVBbm51bGFyU2VjdG9yO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRW1iZWRkZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRm9jdXNlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNBY3RpdmUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgc3ViSXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgZmllbGRzXHJcblxyXG4gIC8vICNyZWdpb24gcHVibGljIG1ldGhvZHNcclxuICBwdWJsaWMgZ2V0U1ZHVmlld0JveCgpOnN0cmluZ3tcclxuICAgIHJldHVybiBTVkdHZW5lcmF0b3IuZ2V0U1ZHVmlld0JveCh0aGlzLl91bml0cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U1ZHQ2VudGVyTWVudVBhdGgoKTpzdHJpbmd7XHJcbiAgICByZXR1cm4gU1ZHR2VuZXJhdG9yLmdldFNWR0NlbnRlck1lbnVQYXRoKHRoaXMuX3VuaXRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTVkdDZW50ZXJNZW51SXRlbVBhdGgoKTpzdHJpbmd7XHJcbiAgICByZXR1cm4gU1ZHR2VuZXJhdG9yLmdldFNWR0NlbnRlck1lbnVJdGVtUGF0aCh0aGlzLl91bml0cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U1ZHQ2VudGVyU3ViTWVudUl0ZW1QYXRoKCk6c3RyaW5ne1xyXG4gICAgcmV0dXJuIFNWR0dlbmVyYXRvci5nZXRTVkdDZW50ZXJTdWJNZW51SXRlbVBhdGgodGhpcy5fc3ViTWVudVVuaXRzKTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gIXRoaXMuaXNPcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBmaW5kVG9vbEh1Ykl0ZW1CeUlkKGlkIDogc3RyaW5nKSA6IFRvb2xIdWJJdGVtIHwgdW5kZWZpbmVke1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmZpbmQoeD0+eC5idXR0b25JZCA9PT0gaWQpO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tUb29sSHViSXRlbSggYWN0aW9uOiBzdHJpbmcpe1xyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZFRvb2xIdWJJdGVtQnlJZChhY3Rpb24pO1xyXG4gICAgaWYoIWl0ZW0gfHwgaXRlbT8uZGlzYWJsZWQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBjbGlja1Rvb2xIdWJTdWJJdGVtKCBhY3Rpb246IHN0cmluZyl7XHJcbiAgICBpZighdGhpcy5fYWN0aXZlU3ViSXRlbXMpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zLmZpbmQoeD0+eC5idXR0b25JZCA9PT0gYWN0aW9uKTtcclxuICAgIGlmKCFpdGVtKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3ViSXRlbUNsaWNrZWQuZW1pdChhY3Rpb24pO1xyXG4gICAgdGhpcy5jbG9zZUFjdGl2ZVN1Ykl0ZW1zVmlldygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVG9vbEh1Ykl0ZW1BY3RpdmUoYnV0dG9uSWQ6IHN0cmluZyl7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kVG9vbEh1Ykl0ZW1CeUlkKGJ1dHRvbklkKTtcclxuICAgIGlmKCFpdGVtIHx8IGl0ZW0uZGlzYWJsZWQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbS5hY3RpdmUgPSAhaXRlbS5hY3RpdmU7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTdWJJdGVtc1ZpZXcoYnV0dG9uSWQ6IHN0cmluZyl7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kVG9vbEh1Ykl0ZW1CeUlkKGJ1dHRvbklkKTtcclxuICAgIGlmKCFpdGVtIHx8IGl0ZW0uZGlzYWJsZWQgfHwgIWl0ZW0uc3ViSXRlbXMpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbS5hY3RpdmUgPSAhaXRlbS5hY3RpdmU7XHJcbiAgICBpZihpdGVtLmFjdGl2ZSl7XHJcbiAgICAgIHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zVmlldyA9IGl0ZW07XHJcbiAgICAgIHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zID0gaXRlbS5zdWJJdGVtcztcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLl9hY3RpdmVTdWJJdGVtc1ZpZXcgPSBudWxsO1xyXG4gICAgICB0aGlzLl9hY3RpdmVTdWJJdGVtcyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUFjdGl2ZVN1Ykl0ZW1zVmlldygpe1xyXG4gICAgaWYodGhpcy5fYWN0aXZlU3ViSXRlbXNWaWV3KXtcclxuICAgICAgdGhpcy5fYWN0aXZlU3ViSXRlbXNWaWV3LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9hY3RpdmVTdWJJdGVtc1ZpZXcgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYWN0aXZlU3ViSXRlbXMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2V0SG92ZXJlZFN0YXRlKGVsZW1lbnQ6IHN0cmluZywgaG92ZXJlZCA6IGJvb2xlYW4pe1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9ob3ZlcmVkRWxlbWVudHMuaW5kZXhPZihlbGVtZW50KTtcclxuICAgIGNvbnN0IHN0b3JlZENvdW50SG92ZXJkID0gdGhpcy5faG92ZXJlZEVsZW1lbnRzLmxlbmd0aDtcclxuICAgIFxyXG4gICAgaWYoaW5kZXggPj0gMCAmJiAhaG92ZXJlZCl7XHJcbiAgICAgIHRoaXMuX2hvdmVyZWRFbGVtZW50cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGluZGV4IDwgMCAmJiBob3ZlcmVkKXtcclxuICAgICAgdGhpcy5faG92ZXJlZEVsZW1lbnRzLnB1c2goZWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoc3RvcmVkQ291bnRIb3ZlcmQgPiAwICYmIHRoaXMuX2hvdmVyZWRFbGVtZW50cy5sZW5ndGggPT09IDApe1xyXG5cclxuICAgICAgLy8gSWYgaG92ZXJlZCBlbGVtZW50cyBjb3VudCByZWFjaGVzIHplcm8sIGNoZWNrIGFnYWluIGEgYml0IGRlbGF5ZWQuIElmIG5vdGhpbmcgaG92ZXJlZCBhdCB0aGF0IHRpbWUsIGNsb3NlIHN1Ym1lbnVcclxuICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGlmKCB0aGlzLl9ob3ZlcmVkRWxlbWVudHMubGVuZ3RoID09PSAwKXtcclxuICAgICAgICAgIHRoaXMuY2xvc2VBY3RpdmVTdWJJdGVtc1ZpZXcoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJhZ0VsZW1lbnQoZXZlbnQgOiBbbnVtYmVyLG51bWJlcl0pOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlbHRhWCA9IGV2ZW50WzBdO1xyXG4gICAgY29uc3QgZGVsdGFZID0gZXZlbnRbMV07XHJcbiAgICB0aGlzLmxlZnQgKz0gZGVsdGFYO1xyXG4gICAgdGhpcy50b3AgKz0gZGVsdGFZO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgbWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcbiAgcHJpdmF0ZSBfaXNPcGVuZWQgOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIF9pdGVtcyA6IEFycmF5PFRvb2xIdWJJdGVtPiA9IEFycmF5PFRvb2xIdWJJdGVtPigpO1xyXG4gIHByaXZhdGUgX2FjdGl2ZVN1Ykl0ZW1zVmlldyA6IFRvb2xIdWJJdGVtIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfYWN0aXZlU3ViSXRlbXMgOiBBcnJheTxUb29sSHViU3ViSXRlbT4gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF92aXN1YWxTZXR0aW5ncyA6IFRvb2xIdWJWaXN1YWxTZXR0aW5ncztcclxuICBwcml2YXRlIF91bml0cyA6IFRvb2xIdWJJdGVtVW5pdHM7XHJcbiAgcHJpdmF0ZSBfc3ViTWVudVVuaXRzIDogVG9vbEh1Ykl0ZW1Vbml0cztcclxuICBwcml2YXRlIF9hbm51bGFyU2VjdG9yIDogc3RyaW5nOyBcclxuICBwcml2YXRlIF9hbm51bGFyU2VjdG9yQm9yZGVyIDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2RlYWRab25lQW5udWxhclNlY3RvciA6IHN0cmluZztcclxuICBwcml2YXRlIF9ob3ZlcmVkRWxlbWVudHMgOiBBcnJheTxzdHJpbmc+ID0gQXJyYXk8c3RyaW5nPigpO1xyXG4gIC8vICNlbmRyZWdpb24gcHJpdmF0ZSBmaWVsZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBwcml2YXRlIG1ldGhvZHNcclxuICBwcml2YXRlIGNhbGN1bGF0ZUN1cnJlbnRNZW51SXRlbVVuaXRzKCkgOiBUb29sSHViSXRlbVVuaXRze1xyXG4gICAgcmV0dXJuIFNWR0dlbmVyYXRvci5kcmF3TWVudUl0ZW1TdmcodGhpcy5fdmlzdWFsU2V0dGluZ3Muc3ZnUmFkaXVzLCB0aGlzLl92aXN1YWxTZXR0aW5ncy5zdmdSYWRpdXNJbm5lciwgdGhpcy5faXRlbXMubGVuZ3RoLCB0aGlzLmlzRW1iZWRkZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjdWxhdGVDdXJyZW50U3ViTWVudUl0ZW1Vbml0cygpIDogVG9vbEh1Ykl0ZW1Vbml0c3tcclxuICAgIHJldHVybiBTVkdHZW5lcmF0b3IuZHJhd01lbnVJdGVtU3ZnKHRoaXMuX3Zpc3VhbFNldHRpbmdzLnN2Z1JhZGl1cywgdGhpcy5fdmlzdWFsU2V0dGluZ3Muc3ZnUmFkaXVzSW5uZXIsIDIwLCB0aGlzLmlzRW1iZWRkZWQpO1xyXG4gIH1cclxuICAgLy8gI3JlZ2lvbiBwcml2YXRlIG1ldGhvZHNcclxufVxyXG4iLCIgIDxkaXYgY2xhc3M9XCJjZW50ZXItbWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNlbnRlci1tZW51LWZwXCIgaWQ9XCJjZW50ZXItbWVudS1mcC1pZFwiIFtuZ0NsYXNzXT1cImFjdGl2ZVN1Ykl0ZW1zID8gJ3N1Ym1lbnUtYWN0aXZlJyA6ICcnXCI+XHJcbiAgICA8ZGl2IGxpYkRyYWdnYWJsZSBpZD1cImNlbnRlci1tZW51LWNvbnRyb2xsZXJcIiBjbGFzcz1cImNlbnRlci1tZW51LWNvbnRyb2xsZXIgZHJhZ2dlclwiICBkYXRhLXRlc3Q9XCJ0b29saHViX2NvbnRyb2xsZXJcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdvcGVuZWQnOiBpc09wZW5lZCxcclxuICAgICAgJ2FjdGl2ZSc6IGlzQWN0aXZlXHJcbiAgICB9XCIgIFxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgIChjbGlja2VkKT1cInRvZ2dsZU1lbnUoKVwiXHJcbiAgICAoZHJhZ2dpbmcpPVwiZHJhZ0VsZW1lbnQoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjZW50ZXItbWVudS1jaXJjbGUtYm9yZGVyLWlubmVyXCIgW25nQ2xhc3NdPVwiIWlzT3BlbmVkID8gJ2hpZGRlbicgOiAnJ1wiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNlbnRlci1tZW51LWNpcmNsZS1ib3JkZXItb3V0ZXJcIiBbbmdDbGFzc109XCIhaXNPcGVuZWQgPyAnaGlkZGVuJyA6ICcnXCIgKG1vdXNlbGVhdmUpPVwic2V0SG92ZXJlZFN0YXRlKCdtZW51Q2lyY2xlQm9yZGVyT3V0ZXInLCBmYWxzZSlcIiAobW91c2VlbnRlcik9XCJzZXRIb3ZlcmVkU3RhdGUoJ21lbnVDaXJjbGVCb3JkZXJPdXRlcicsIHRydWUpXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGxpYkRyYWdnYWJsZSBjbGFzcz1cImNlbnRlci1tZW51LWNpcmNsZVwiIFtuZ0NsYXNzXT1cIiFpc09wZW5lZCA/ICdoaWRkZW4nIDogJydcIiAobW91c2VsZWF2ZSk9XCJzZXRIb3ZlcmVkU3RhdGUoJ21lbnVDaXJjbGUnLCBmYWxzZSlcIiAobW91c2VlbnRlcik9XCJzZXRIb3ZlcmVkU3RhdGUoJ21lbnVDaXJjbGUnLCB0cnVlKVwiIChkcmFnZ2luZyk9XCJkcmFnRWxlbWVudCgkZXZlbnQpXCI+XHJcbiAgICAgIFxyXG4gICAgICAgIDxsaWItdG9vbC1odWItaXRlbSBsaWJEcmFnZ2FibGUgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ3Rvb2xodWJfaXRlbV8nICsgaXRlbS5idXR0b25JZFwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbYWN0aXZlXSA9IFwiaXRlbS5hY3RpdmVcIlxyXG4gICAgICAgICAgICBbaXNFbmFibGVkXT1cIiFpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgKGNsaWNrZWQpID0gXCJjbGlja1Rvb2xIdWJJdGVtKGl0ZW0uYnV0dG9uSWQpXCJcclxuICAgICAgICA+PC9saWItdG9vbC1odWItaXRlbT5cclxuXHJcbiAgICAgICAgPHN2ZyBjbGFzcz1cImNlbnRlcm1lbnUtYnV0dG9uLXN2Z1wiIFthdHRyLnZpZXdCb3hdPVwiZ2V0U1ZHVmlld0JveCgpXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJzdmdDZW50ZXJNZW51XCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImdldFNWR0NlbnRlck1lbnVQYXRoKClcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJzdmdDZW50ZXJNZW51SXRlbVwiIGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxyXG4gICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJnZXRTVkdDZW50ZXJNZW51SXRlbVBhdGgoKVwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgIDxjbGlwUGF0aCBpZD1cInN2Z0NlbnRlclN1Yk1lbnVJdGVtXCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImdldFNWR0NlbnRlclN1Yk1lbnVJdGVtUGF0aCgpXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgPGNsaXBQYXRoIGlkPVwic3ZnQ2VudGVyTWVudVN1Yk1lbnVcIiBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cclxuICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwiYW5udWxhclNlY3RvclwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgIDxjbGlwUGF0aCBpZD1cInN2Z0NlbnRlck1lbnVTdWJNZW51Qm9yZGVyXCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImFubnVsYXJTZWN0b3JCb3JkZXJcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJzdmdDZW50ZXJNZW51U3ViTWVudURlYWRab25lXCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImRlYWRab25lQW5udWxhclNlY3RvclwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICA8L3N2Zz5cclxuICAgIDwvZGl2PlxyXG4gIFxyXG4gIEBpZiAoYWN0aXZlU3ViSXRlbXMpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjZW50ZXItbWVudS1zdWItbWVudS1ib3JkZXJcIiBbbmdDbGFzc109XCIhaXNPcGVuZWQgPyAnaGlkZGVuJyA6ICcnXCIgIChtb3VzZWxlYXZlKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudUJvcmRlcicsIGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudUJvcmRlcicsIHRydWUpXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLW1lbnUtc3ViLW1lbnVcIiBbbmdDbGFzc109XCIhaXNPcGVuZWQgPyAnaGlkZGVuJyA6ICcnXCIgIChtb3VzZWxlYXZlKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudScsIGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudScsIHRydWUpXCI+XHJcbiAgICAgIDxsaWItdG9vbC1odWItc3ViLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWN0aXZlU3ViSXRlbXNcIlxyXG4gICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCIndG9vbGh1Yl9zdWJpdGVtXycgKyBpdGVtLmJ1dHRvbklkXCJcclxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICAoY2xpY2spID0gXCJjbGlja1Rvb2xIdWJTdWJJdGVtKGl0ZW0uYnV0dG9uSWQpXCJcclxuICAgICAgPjwvbGliLXRvb2wtaHViLXN1Yi1pdGVtPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLW1lbnUtc3ViLW1lbnUtZGVhZC16b25lXCIgW25nQ2xhc3NdPVwiIWlzT3BlbmVkID8gJ2hpZGRlbicgOiAnJ1wiIChtb3VzZWxlYXZlKT1cInNldEhvdmVyZWRTdGF0ZSgnZGVhZFpvbmUnLCBmYWxzZSlcIiAobW91c2VlbnRlcik9XCJzZXRIb3ZlcmVkU3RhdGUoJ2RlYWRab25lJywgdHJ1ZSlcIj48L2Rpdj5cclxuICB9XHJcblxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
387
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy10b29sLWh1Yi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLXRvb2wtaHViL2JpbXBsdXMtdG9vbC1odWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy10b29sLWh1Yi9iaW1wbHVzLXRvb2wtaHViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQTtBQUVsSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7Ozs7QUFHekUsU0FBUywyQkFBMkI7SUFDbEMsTUFBTSxRQUFRLEdBQTJCO1FBQ3ZDLGlCQUFpQixFQUFHLEVBQUU7UUFDdEIsZUFBZSxFQUFHLEdBQUc7UUFDckIsY0FBYyxFQUFHLElBQUk7UUFDckIsU0FBUyxFQUFHLEtBQUs7UUFDakIsYUFBYSxFQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztRQUM3QixhQUFhLEVBQUcsSUFB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QUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hJLENBQUM7OEdBak5VLHVCQUF1QjtrR0FBdkIsdUJBQXVCLCtJQXlDZCxnQkFBZ0IsNENBMEJoQixnQkFBZ0IseUNBQ2hCLGdCQUFnQixzQ0FDaEIsZ0JBQWdCLG1OQ3RSdEMsMC9HQTBETSwyaXFDRGtKTSxZQUFZLDBQQUFFLG9CQUFvQix1R0FBRSx1QkFBdUIsMkdBQUUsa0JBQWtCOzsyRkFLOUUsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsaUJBRzNFLGlCQUFpQixDQUFDLFNBQVM7cUZBaUJILElBQUk7c0JBQTFDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFDRSxHQUFHO3NCQUF4QyxXQUFXO3VCQUFDLGNBQWM7O3NCQUFHLEtBQUs7Z0JBS3RCLEtBQUs7c0JBQWpCLEtBQUs7Z0JBcUJGLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkEwQkUsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzVCLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCB9IGZyb20gXCIuLy4uL2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQuY29tcG9uZW50XCJcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTVkdHZW5lcmF0b3IgfSBmcm9tICcuL3N2Z0dlbmVyYXRvcic7XHJcbmltcG9ydCB7IFRvb2xIdWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90b29sLWh1Yi1pdGVtL3Rvb2wtaHViLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbEh1YlN1Ykl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Rvb2wtaHViLXN1Yi1pdGVtL3Rvb2wtaHViLXN1Yi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYWdnYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZHJhZ2dhYmxlLmRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgVG9vbEh1Ykl0ZW0sIFRvb2xIdWJTdWJJdGVtLCBUb29sSHViVmlzdWFsU2V0dGluZ3MsIFRvb2xIdWJJdGVtVW5pdHMgfSBmcm9tICcuL2JpbXBsdXMtdG9vbC1odWIuaW50ZXJmYWNlJztcclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRWaXN1YWxTZXR0aW5ncygpIDogVG9vbEh1YlZpc3VhbFNldHRpbmdze1xyXG4gIGNvbnN0IHNldHRpbmdzIDogVG9vbEh1YlZpc3VhbFNldHRpbmdzID0ge1xyXG4gICAgc3ViTWVudVN0YXJ0QW5nbGUgOiA1MCxcclxuICAgIHN1Yk1lbnVFbmRBbmdsZSA6IDEzMCxcclxuICAgIHN2Z1JhZGl1c0lubmVyIDogNS43NSxcclxuICAgIHN2Z1JhZGl1cyA6IDEwLjI1LFxyXG4gICAgc3ViTWVudUNlbnRlciA6IFsxNy4yNSwgMTcuNV0sXHJcbiAgICBzdWJNZW51UmFkaXVzIDogMTUuNSxcclxuICAgIHN1Yk1lbnVXaWR0aCA6IDUyLFxyXG4gICAgZGVhZFpvbmVDZW50ZXIgOiBbMTcsIDE4XSxcclxuICAgIGRlYWRab25lV2lkdGggOiAxNDAsXHJcbiAgICBkZWFkWm9uZVJhZGl1cyA6IDIyLFxyXG4gICAgZGVhZFpvbmVTdGFydEFuZ2xlIDogNDUsXHJcbiAgICBkZWFkWm9uZUVuZEFuZ2xlIDogMTM1XHJcbiAgfVxyXG4gIHJldHVybiBzZXR0aW5ncztcclxufVxyXG5cclxuLy8gVXNlIHdoZW4gaW1wbGVtZW50aW5nIGVtYmVkZGVkIG1vZGVcclxuLy8gZnVuY3Rpb24gY3JlYXRlRW1iZWRkZWRTZXR0aW5ncygpIDogVG9vbEh1YlZpc3VhbFNldHRpbmdze1xyXG4vLyAgIGNvbnN0IHNldHRpbmdzIDogVG9vbEh1YlZpc3VhbFNldHRpbmdzID0ge1xyXG4vLyAgICAgc3ViTWVudVN0YXJ0QW5nbGUgOiA1MCxcclxuLy8gICAgIHN1Yk1lbnVFbmRBbmdsZSA6IDEzMCxcclxuLy8gICAgIHN2Z1JhZGl1c0lubmVyIDogNCxcclxuLy8gICAgIHN2Z1JhZGl1cyA6IDcuMjUsXHJcbi8vICAgICBzdWJNZW51Q2VudGVyIDogWzE3LjI1LCAxNy4zXSxcclxuLy8gICAgIHN1Yk1lbnVSYWRpdXMgOiAxNi4yLFxyXG4vLyAgICAgc3ViTWVudVdpZHRoIDogNjIsXHJcbi8vICAgICBkZWFkWm9uZUNlbnRlciA6IFsxNi41LCAxNl0sXHJcbi8vICAgICBkZWFkWm9uZVdpZHRoIDogMTIwLFxyXG4vLyAgICAgZGVhZFpvbmVSYWRpdXMgOiAxOCxcclxuLy8gICAgIGRlYWRab25lU3RhcnRBbmdsZSA6IDM1LFxyXG4vLyAgICAgZGVhZFpvbmVFbmRBbmdsZSA6IDE0NVxyXG4vLyAgIH1cclxuLy8gICByZXR1cm4gc2V0dGluZ3M7XHJcbi8vIH1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRJdGVtcygpIDogQXJyYXk8VG9vbEh1Ykl0ZW0+e1xyXG4gIGNvbnN0IGl0ZW1zIDogQXJyYXk8VG9vbEh1Ykl0ZW0+ID0gW1xyXG4gICAgLy8tLS0gY3JlYXRlIHRhc2sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRDcmVhdGVUYXNrJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1jcmVhdGUtdGFzaycsXHJcbiAgICAgIHRleHQ6ICdfQ3JlYXRlX2lzc3VlX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX0NyZWF0ZV9pc3N1ZV9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0NyZWF0ZV9pc3N1ZV9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gcXVhbnRpdHkgdGFrZW9mZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHtcclxuICAgICAgYnV0dG9uSWQ6ICdjbUJ1dFF1YW50aXR5VGFrZU9mZicsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tcXVhbnRpdHktdGFrZS1vZmYnLFxyXG4gICAgICB0ZXh0OiAnX1F1YW50aXR5X3Rha2VfT2ZmX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX1F1YW50aXR5X3Rha2VfT2ZmX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwRGlzYWJsZWQgOiAnX1F1YW50aXR5X3Rha2VfT2ZmX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICBkaXNhYmxlZCA6IHRydWVcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gbWFya3VwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAge1xyXG4gICAgICBidXR0b25JZDogJ2NtQnV0TWFya3VwJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1tYXJrdXAnLFxyXG4gICAgICB0ZXh0OiAnX01hcmt1cHNfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfTWFya3Vwc19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX01hcmt1cHNfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICB9LFxyXG5cclxuICAgIC8vLS0tIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRTZWN0aW9uJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1zZWN0aW9uJyxcclxuICAgICAgdGV4dDogJ19TZWN0aW9uaW5nX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX1NlY3Rpb25pbmdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXBEaXNhYmxlZDogJ19TZWN0aW9uaW5nX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgfSxcclxuXHJcbiAgICAvLy0tLSBoaWRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAge1xyXG4gICAgICBidXR0b25JZDogJ2NtQnV0T2JqVHJhbnNwTWVudScsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tb2JqLXRyYW5zcCcsXHJcbiAgICAgIHRleHQ6ICdfSGlkZV9vYmplY3RzX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX0hpZGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0hpZGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gaXNvbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHtcclxuICAgICAgYnV0dG9uSWQ6ICdjbUJ1dE9ialNlbCcsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tb2JqLXNlbGVjdCcsXHJcbiAgICAgIHRleHQ6ICdfSXNvbGF0ZV9vYmplY3RzX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX0lzb2xhdGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0lzb2xhdGVfb2JqZWN0c19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gbmF2aWdhdGlvbiBtYXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXROYXZpZ2F0aW9uTWFwJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1uYXZpZ2F0aW9uLW1hcCcsXHJcbiAgICAgIHRleHQ6ICdfTmF2aWdhdGlvbl9uYXBfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfTmF2aWdhdGlvbl9uYXBfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXBEaXNhYmxlZDogJ19OYXZpZ2F0aW9uX25hcF9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gZnVsbHNjcmVlbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRGdWxsU2NyZWVuJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1mdWxsc2NyZWVuJyxcclxuICAgICAgdGV4dDogJ19GdWxsc2NyZWVuX25vZGVfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfRnVsbHNjcmVlbl9ub2RlX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfRnVsbHNjcmVlbl9ub2RlX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIC8vLS0tIHByb2plY3QgbmF2aWdhdG9yIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAge1xyXG4gICAgICBidXR0b25JZDogJ2NtQnV0UHJvamVjdE5hdmlnYXRvcicsXHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tcHJvamVjdC1uYXZpZ2F0b3InLFxyXG4gICAgICB0ZXh0OiAnX1Byb2plY3RfbmF2aWdhdG9yX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwOiAnX1Byb2plY3RfbmF2aWdhdG9yX2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfUHJvamVjdF9uYXZpZ2F0b3JfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgIH0sXHJcblxyXG4gICAgLy8tLS0gcmVzZXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGljb25DbGFzczogJ3VpLWljb24tb2JqLXJlc2V0JyxcclxuICAgICAgYnV0dG9uSWQ6ICdjbUJ1dFJlc2V0T2JqJyxcclxuICAgICAgdGV4dDogJ19SZXNldF92aWV3cG9ydF9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcDogJ19SZXNldF92aWV3cG9ydF9jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgdG9vbHRpcERpc2FibGVkOiAnX1Jlc2V0X3ZpZXdwb3J0X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIC8vLS0tIHZpZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICB7XHJcbiAgICAgIGJ1dHRvbklkOiAnY21CdXRSZXNldFZwJyxcclxuICAgICAgaWNvbkNsYXNzOiAndWktaWNvbi1yZXNldC12cCcsXHJcbiAgICAgIHRleHQ6ICdfU2VsZWN0X3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXA6ICdfU2VsZWN0X3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgIHRvb2x0aXBEaXNhYmxlZDogJ19TZWxlY3Rfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgc3ViTWVudUlkOiAnY21iLXZpZXctc3VibWVudScsXHJcbiAgICAgIHN1Ykl0ZW1zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYnV0dG9uSWQ6ICdjbUJ1dEZyb250VmlldycsXHJcbiAgICAgICAgICBpY29uQ2xhc3M6ICd1aS1pY29uLWZyb250LXZpZXcnLFxyXG4gICAgICAgICAgdGV4dDogJ19Gcm9udF92aWV3X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICAgICAgdG9vbHRpcDogJ19Gcm9udF92aWV3X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICAgICAgdG9vbHRpcERpc2FibGVkOiAnX0Zyb250X3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICBhY3Rpb25DbGljazogJ2NlbnRlck1lbnVGcm9udFZpZXdDbGljaycsXHJcbiAgICAgICAgfSxcclxuICAgIFxyXG4gICAgICAgIC8vLS0tIFRvcCBWaWV3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJ1dHRvbklkOiAnY21CdXRUb3BWaWV3JyxcclxuICAgICAgICAgIGljb25DbGFzczogJ3VpLWljb24tdG9wLXZpZXcnLFxyXG4gICAgICAgICAgdGV4dDogJ19Ub3Bfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdfVG9wX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfVG9wX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICBhY3Rpb25DbGljazogJ2NlbnRlck1lbnVUb3BWaWV3Q2xpY2snLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8tLS0gU2lkZSBWaWV3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJ1dHRvbklkOiAnY21CdXRTaWRlVmlldycsXHJcbiAgICAgICAgICBpY29uQ2xhc3M6ICd1aS1pY29uLXNpZGUtdmlldycsXHJcbiAgICAgICAgICB0ZXh0OiAnX1NpZGVfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdfU2lkZV92aWV3X2NlbnRlcl9tZW51X3Rvb2x0aXAnLFxyXG4gICAgICAgICAgdG9vbHRpcERpc2FibGVkOiAnX1NpZGVfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIGFjdGlvbkNsaWNrOiAnY2VudGVyTWVudVNpZGVWaWV3Q2xpY2snLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8tLS0gUGVyc3BlY3RpdmUgVmlldyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICB7XHJcbiAgICAgICAgICBidXR0b25JZDogJ2NtQnV0UGVyc3BlY3RpdmVWaWV3JyxcclxuICAgICAgICAgIGljb25DbGFzczogJ3VpLWljb24tcGVyc3BlY3RpdmUtdmlldycsXHJcbiAgICAgICAgICB0ZXh0OiAnX1BlcnNwZWN0aXZlX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICB0b29sdGlwOiAnX1BlcnNwZWN0aXZlX3ZpZXdfY2VudGVyX21lbnVfdG9vbHRpcCcsXHJcbiAgICAgICAgICB0b29sdGlwRGlzYWJsZWQ6ICdfUGVyc3BlY3RpdmVfdmlld19jZW50ZXJfbWVudV90b29sdGlwJyxcclxuICAgICAgICAgIGFjdGlvbkNsaWNrOiAnY2VudGVyTWVudVBlcnNwZWN0aXZlVmlld0NsaWNrJyxcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH1cclxuICBdXHJcblxyXG4gIHJldHVybiBpdGVtcztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy10b29sLWh1YicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sSHViSXRlbUNvbXBvbmVudCwgVG9vbEh1YlN1Ykl0ZW1Db21wb25lbnQsIERyYWdnYWJsZURpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtdG9vbC1odWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLXRvb2wtaHViLmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNUb29sSHViQ29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudHtcclxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXHJcblxyXG4gICAgdGhpcy5pdGVtcyA9IGNyZWF0ZURlZmF1bHRJdGVtcygpO1xyXG4gICAgdGhpcy5fdmlzdWFsU2V0dGluZ3MgPSBjcmVhdGVEZWZhdWx0VmlzdWFsU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuX3VuaXRzID0gdGhpcy5jYWxjdWxhdGVDdXJyZW50TWVudUl0ZW1Vbml0cygpO1xyXG4gICAgdGhpcy5fc3ViTWVudVVuaXRzID0gdGhpcy5jYWxjdWxhdGVDdXJyZW50U3ViTWVudUl0ZW1Vbml0cygpO1xyXG4gICAgdGhpcy5fYW5udWxhclNlY3RvciA9IFNWR0dlbmVyYXRvci5nZW5lcmF0ZUFubnVsYXJTZWN0b3IodGhpcy5fdmlzdWFsU2V0dGluZ3MpOyBcclxuICAgIHRoaXMuX2FubnVsYXJTZWN0b3JCb3JkZXIgPSBTVkdHZW5lcmF0b3IuZ2VuZXJhdGVBbm51bGFyU2VjdG9yQm9yZGVyKHRoaXMuX3Zpc3VhbFNldHRpbmdzKTtcclxuICAgIHRoaXMuX2RlYWRab25lQW5udWxhclNlY3RvciA9IFNWR0dlbmVyYXRvci5nZW5lcmF0ZURlYWRab25lQW5udWxhclNlY3Rvcih0aGlzLl92aXN1YWxTZXR0aW5ncyk7XHJcbiAgXHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQucHgnKSBASW5wdXQoKSBsZWZ0OiBudW1iZXIgPSA1MDA7XHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AucHgnKSBASW5wdXQoKSB0b3A6IG51bWJlciA9IDUwMDtcclxuXHJcbiAgZ2V0IGl0ZW1zKCkgOiBBcnJheTxUb29sSHViSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IEFycmF5PFRvb2xIdWJJdGVtPikge1xyXG4gICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcclxuXHJcbiAgICBjb25zdCBidXR0b25zTGVuZ3RoID0gKCh0aGlzLl9pdGVtcz8ubGVuZ3RoKSA+IDApID8gdGhpcy5faXRlbXMubGVuZ3RoIDogMTtcclxuICAgIGNvbnN0IHJvb3RTdHlsZSA9IGRvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQ/LnN0eWxlO1xyXG4gICAgaWYgKHJvb3RTdHlsZSkge1xyXG4gICAgICBjb25zdCBtZW51SXRlbXMgPSByb290U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIi0tbWVudS1pdGVtc1wiKTtcclxuICAgICAgcGFyc2VJbnQobWVudUl0ZW1zKSAhPSBidXR0b25zTGVuZ3RoICYmIHJvb3RTdHlsZS5zZXRQcm9wZXJ0eShcIi0tbWVudS1pdGVtc1wiLCBidXR0b25zTGVuZ3RoLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGl2ZVN1Ykl0ZW1zKCkgOiBBcnJheTxUb29sSHViU3ViSXRlbT4gfCBudWxse1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgdGl0bGUgOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBnZXQgaXNPcGVuZWQoKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBcclxuICBzZXQgaXNPcGVuZWQodmFsdWU6IGJvb2xlYW4pe1xyXG4gICAgdGhpcy5faXNPcGVuZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMudGl0bGUgPSB0aGlzLl9pc09wZW5lZCA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfTWluaW1pemVfdG9vbGh1Yl90b29sdGlwJykgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX1Nob3dfdG9vbGh1Yl90b29sdGlwJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgdW5pdHMoKTogVG9vbEh1Ykl0ZW1Vbml0c3tcclxuICAgIHJldHVybiB0aGlzLl91bml0cztcclxuICB9XHJcblxyXG4gIGdldCBzdWJNZW51VW5pdHMoKTogVG9vbEh1Ykl0ZW1Vbml0c3tcclxuICAgIHJldHVybiB0aGlzLl9zdWJNZW51VW5pdHM7XHJcbiAgfVxyXG5cclxuICBnZXQgYW5udWxhclNlY3RvcigpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5fYW5udWxhclNlY3RvcjtcclxuICB9XHJcblxyXG4gIGdldCBhbm51bGFyU2VjdG9yQm9yZGVyKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLl9hbm51bGFyU2VjdG9yQm9yZGVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRlYWRab25lQW5udWxhclNlY3RvcigpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVhZFpvbmVBbm51bGFyU2VjdG9yO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRW1iZWRkZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRm9jdXNlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNBY3RpdmUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgc3ViSXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgZmllbGRzXHJcblxyXG4gIC8vICNyZWdpb24gcHVibGljIG1ldGhvZHNcclxuICBwdWJsaWMgZ2V0U1ZHVmlld0JveCgpOnN0cmluZ3tcclxuICAgIHJldHVybiBTVkdHZW5lcmF0b3IuZ2V0U1ZHVmlld0JveCh0aGlzLl91bml0cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U1ZHQ2VudGVyTWVudVBhdGgoKTpzdHJpbmd7XHJcbiAgICByZXR1cm4gU1ZHR2VuZXJhdG9yLmdldFNWR0NlbnRlck1lbnVQYXRoKHRoaXMuX3VuaXRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTVkdDZW50ZXJNZW51SXRlbVBhdGgoKTpzdHJpbmd7XHJcbiAgICByZXR1cm4gU1ZHR2VuZXJhdG9yLmdldFNWR0NlbnRlck1lbnVJdGVtUGF0aCh0aGlzLl91bml0cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U1ZHQ2VudGVyU3ViTWVudUl0ZW1QYXRoKCk6c3RyaW5ne1xyXG4gICAgcmV0dXJuIFNWR0dlbmVyYXRvci5nZXRTVkdDZW50ZXJTdWJNZW51SXRlbVBhdGgodGhpcy5fc3ViTWVudVVuaXRzKTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gIXRoaXMuaXNPcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBmaW5kVG9vbEh1Ykl0ZW1CeUlkKGlkIDogc3RyaW5nKSA6IFRvb2xIdWJJdGVtIHwgdW5kZWZpbmVke1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmZpbmQoeD0+eC5idXR0b25JZCA9PT0gaWQpO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tUb29sSHViSXRlbSggYWN0aW9uOiBzdHJpbmcpe1xyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZFRvb2xIdWJJdGVtQnlJZChhY3Rpb24pO1xyXG4gICAgaWYoIWl0ZW0gfHwgaXRlbT8uZGlzYWJsZWQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBjbGlja1Rvb2xIdWJTdWJJdGVtKCBhY3Rpb246IHN0cmluZyl7XHJcbiAgICBpZighdGhpcy5fYWN0aXZlU3ViSXRlbXMpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zLmZpbmQoeD0+eC5idXR0b25JZCA9PT0gYWN0aW9uKTtcclxuICAgIGlmKCFpdGVtKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3ViSXRlbUNsaWNrZWQuZW1pdChhY3Rpb24pO1xyXG4gICAgdGhpcy5jbG9zZUFjdGl2ZVN1Ykl0ZW1zVmlldygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVG9vbEh1Ykl0ZW1BY3RpdmUoYnV0dG9uSWQ6IHN0cmluZyl7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kVG9vbEh1Ykl0ZW1CeUlkKGJ1dHRvbklkKTtcclxuICAgIGlmKCFpdGVtIHx8IGl0ZW0uZGlzYWJsZWQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbS5hY3RpdmUgPSAhaXRlbS5hY3RpdmU7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTdWJJdGVtc1ZpZXcoYnV0dG9uSWQ6IHN0cmluZyl7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kVG9vbEh1Ykl0ZW1CeUlkKGJ1dHRvbklkKTtcclxuICAgIGlmKCFpdGVtIHx8IGl0ZW0uZGlzYWJsZWQgfHwgIWl0ZW0uc3ViSXRlbXMpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbS5hY3RpdmUgPSAhaXRlbS5hY3RpdmU7XHJcbiAgICBpZihpdGVtLmFjdGl2ZSl7XHJcbiAgICAgIHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zVmlldyA9IGl0ZW07XHJcbiAgICAgIHRoaXMuX2FjdGl2ZVN1Ykl0ZW1zID0gaXRlbS5zdWJJdGVtcztcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLl9hY3RpdmVTdWJJdGVtc1ZpZXcgPSBudWxsO1xyXG4gICAgICB0aGlzLl9hY3RpdmVTdWJJdGVtcyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUFjdGl2ZVN1Ykl0ZW1zVmlldygpe1xyXG4gICAgaWYodGhpcy5fYWN0aXZlU3ViSXRlbXNWaWV3KXtcclxuICAgICAgdGhpcy5fYWN0aXZlU3ViSXRlbXNWaWV3LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9hY3RpdmVTdWJJdGVtc1ZpZXcgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYWN0aXZlU3ViSXRlbXMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2V0SG92ZXJlZFN0YXRlKGVsZW1lbnQ6IHN0cmluZywgaG92ZXJlZCA6IGJvb2xlYW4pe1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9ob3ZlcmVkRWxlbWVudHMuaW5kZXhPZihlbGVtZW50KTtcclxuICAgIGNvbnN0IHN0b3JlZENvdW50SG92ZXJkID0gdGhpcy5faG92ZXJlZEVsZW1lbnRzLmxlbmd0aDtcclxuICAgIFxyXG4gICAgaWYoaW5kZXggPj0gMCAmJiAhaG92ZXJlZCl7XHJcbiAgICAgIHRoaXMuX2hvdmVyZWRFbGVtZW50cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGluZGV4IDwgMCAmJiBob3ZlcmVkKXtcclxuICAgICAgdGhpcy5faG92ZXJlZEVsZW1lbnRzLnB1c2goZWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoc3RvcmVkQ291bnRIb3ZlcmQgPiAwICYmIHRoaXMuX2hvdmVyZWRFbGVtZW50cy5sZW5ndGggPT09IDApe1xyXG5cclxuICAgICAgLy8gSWYgaG92ZXJlZCBlbGVtZW50cyBjb3VudCByZWFjaGVzIHplcm8sIGNoZWNrIGFnYWluIGEgYml0IGRlbGF5ZWQuIElmIG5vdGhpbmcgaG92ZXJlZCBhdCB0aGF0IHRpbWUsIGNsb3NlIHN1Ym1lbnVcclxuICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGlmKCB0aGlzLl9ob3ZlcmVkRWxlbWVudHMubGVuZ3RoID09PSAwKXtcclxuICAgICAgICAgIHRoaXMuY2xvc2VBY3RpdmVTdWJJdGVtc1ZpZXcoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJhZ0VsZW1lbnQoZXZlbnQgOiBbbnVtYmVyLG51bWJlcl0pOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlbHRhWCA9IGV2ZW50WzBdO1xyXG4gICAgY29uc3QgZGVsdGFZID0gZXZlbnRbMV07XHJcbiAgICB0aGlzLmxlZnQgKz0gZGVsdGFYO1xyXG4gICAgdGhpcy50b3AgKz0gZGVsdGFZO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgbWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcbiAgcHJpdmF0ZSBfaXNPcGVuZWQgOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIF9pdGVtcyA6IEFycmF5PFRvb2xIdWJJdGVtPiA9IEFycmF5PFRvb2xIdWJJdGVtPigpO1xyXG4gIHByaXZhdGUgX2FjdGl2ZVN1Ykl0ZW1zVmlldyA6IFRvb2xIdWJJdGVtIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfYWN0aXZlU3ViSXRlbXMgOiBBcnJheTxUb29sSHViU3ViSXRlbT4gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF92aXN1YWxTZXR0aW5ncyA6IFRvb2xIdWJWaXN1YWxTZXR0aW5ncztcclxuICBwcml2YXRlIF91bml0cyA6IFRvb2xIdWJJdGVtVW5pdHM7XHJcbiAgcHJpdmF0ZSBfc3ViTWVudVVuaXRzIDogVG9vbEh1Ykl0ZW1Vbml0cztcclxuICBwcml2YXRlIF9hbm51bGFyU2VjdG9yIDogc3RyaW5nOyBcclxuICBwcml2YXRlIF9hbm51bGFyU2VjdG9yQm9yZGVyIDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2RlYWRab25lQW5udWxhclNlY3RvciA6IHN0cmluZztcclxuICBwcml2YXRlIF9ob3ZlcmVkRWxlbWVudHMgOiBBcnJheTxzdHJpbmc+ID0gQXJyYXk8c3RyaW5nPigpO1xyXG4gIC8vICNlbmRyZWdpb24gcHJpdmF0ZSBmaWVsZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBwcml2YXRlIG1ldGhvZHNcclxuICBwcml2YXRlIGNhbGN1bGF0ZUN1cnJlbnRNZW51SXRlbVVuaXRzKCkgOiBUb29sSHViSXRlbVVuaXRze1xyXG4gICAgcmV0dXJuIFNWR0dlbmVyYXRvci5kcmF3TWVudUl0ZW1TdmcodGhpcy5fdmlzdWFsU2V0dGluZ3Muc3ZnUmFkaXVzLCB0aGlzLl92aXN1YWxTZXR0aW5ncy5zdmdSYWRpdXNJbm5lciwgdGhpcy5faXRlbXMubGVuZ3RoLCB0aGlzLmlzRW1iZWRkZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjdWxhdGVDdXJyZW50U3ViTWVudUl0ZW1Vbml0cygpIDogVG9vbEh1Ykl0ZW1Vbml0c3tcclxuICAgIHJldHVybiBTVkdHZW5lcmF0b3IuZHJhd01lbnVJdGVtU3ZnKHRoaXMuX3Zpc3VhbFNldHRpbmdzLnN2Z1JhZGl1cywgdGhpcy5fdmlzdWFsU2V0dGluZ3Muc3ZnUmFkaXVzSW5uZXIsIDIwLCB0aGlzLmlzRW1iZWRkZWQpO1xyXG4gIH1cclxuICAgLy8gI3JlZ2lvbiBwcml2YXRlIG1ldGhvZHNcclxufVxyXG4iLCIgIDxkaXYgY2xhc3M9XCJjZW50ZXItbWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNlbnRlci1tZW51LWZwXCIgaWQ9XCJjZW50ZXItbWVudS1mcC1pZFwiIFtuZ0NsYXNzXT1cImFjdGl2ZVN1Ykl0ZW1zID8gJ3N1Ym1lbnUtYWN0aXZlJyA6ICcnXCI+XHJcbiAgICA8ZGl2IGxpYkRyYWdnYWJsZSBpZD1cImNlbnRlci1tZW51LWNvbnRyb2xsZXJcIiBjbGFzcz1cImNlbnRlci1tZW51LWNvbnRyb2xsZXIgZHJhZ2dlclwiICBkYXRhLXRlc3Q9XCJ0b29saHViX2NvbnRyb2xsZXJcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdvcGVuZWQnOiBpc09wZW5lZCxcclxuICAgICAgJ2FjdGl2ZSc6IGlzQWN0aXZlXHJcbiAgICB9XCIgIFxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgIChjbGlja2VkKT1cInRvZ2dsZU1lbnUoKVwiXHJcbiAgICAoZHJhZ2dpbmcpPVwiZHJhZ0VsZW1lbnQoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjZW50ZXItbWVudS1jaXJjbGUtYm9yZGVyLWlubmVyXCIgW25nQ2xhc3NdPVwiIWlzT3BlbmVkID8gJ2hpZGRlbicgOiAnJ1wiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNlbnRlci1tZW51LWNpcmNsZS1ib3JkZXItb3V0ZXJcIiBbbmdDbGFzc109XCIhaXNPcGVuZWQgPyAnaGlkZGVuJyA6ICcnXCIgKG1vdXNlbGVhdmUpPVwic2V0SG92ZXJlZFN0YXRlKCdtZW51Q2lyY2xlQm9yZGVyT3V0ZXInLCBmYWxzZSlcIiAobW91c2VlbnRlcik9XCJzZXRIb3ZlcmVkU3RhdGUoJ21lbnVDaXJjbGVCb3JkZXJPdXRlcicsIHRydWUpXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGxpYkRyYWdnYWJsZSBjbGFzcz1cImNlbnRlci1tZW51LWNpcmNsZVwiIFtuZ0NsYXNzXT1cIiFpc09wZW5lZCA/ICdoaWRkZW4nIDogJydcIiAobW91c2VsZWF2ZSk9XCJzZXRIb3ZlcmVkU3RhdGUoJ21lbnVDaXJjbGUnLCBmYWxzZSlcIiAobW91c2VlbnRlcik9XCJzZXRIb3ZlcmVkU3RhdGUoJ21lbnVDaXJjbGUnLCB0cnVlKVwiIChkcmFnZ2luZyk9XCJkcmFnRWxlbWVudCgkZXZlbnQpXCI+XHJcbiAgICAgIFxyXG4gICAgICAgIDxsaWItdG9vbC1odWItaXRlbSBsaWJEcmFnZ2FibGUgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ3Rvb2xodWJfaXRlbV8nICsgaXRlbS5idXR0b25JZFwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbYWN0aXZlXSA9IFwiaXRlbS5hY3RpdmVcIlxyXG4gICAgICAgICAgICBbaXNFbmFibGVkXT1cIiFpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgKGNsaWNrZWQpID0gXCJjbGlja1Rvb2xIdWJJdGVtKGl0ZW0uYnV0dG9uSWQpXCJcclxuICAgICAgICA+PC9saWItdG9vbC1odWItaXRlbT5cclxuXHJcbiAgICAgICAgPHN2ZyBjbGFzcz1cImNlbnRlcm1lbnUtYnV0dG9uLXN2Z1wiIFthdHRyLnZpZXdCb3hdPVwiZ2V0U1ZHVmlld0JveCgpXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJzdmdDZW50ZXJNZW51XCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImdldFNWR0NlbnRlck1lbnVQYXRoKClcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJzdmdDZW50ZXJNZW51SXRlbVwiIGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxyXG4gICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJnZXRTVkdDZW50ZXJNZW51SXRlbVBhdGgoKVwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgIDxjbGlwUGF0aCBpZD1cInN2Z0NlbnRlclN1Yk1lbnVJdGVtXCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImdldFNWR0NlbnRlclN1Yk1lbnVJdGVtUGF0aCgpXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgPGNsaXBQYXRoIGlkPVwic3ZnQ2VudGVyTWVudVN1Yk1lbnVcIiBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cclxuICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwiYW5udWxhclNlY3RvclwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgIDxjbGlwUGF0aCBpZD1cInN2Z0NlbnRlck1lbnVTdWJNZW51Qm9yZGVyXCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImFubnVsYXJTZWN0b3JCb3JkZXJcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJzdmdDZW50ZXJNZW51U3ViTWVudURlYWRab25lXCIgY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XHJcbiAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImRlYWRab25lQW5udWxhclNlY3RvclwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICA8L3N2Zz5cclxuICAgIDwvZGl2PlxyXG4gIFxyXG4gIEBpZiAoYWN0aXZlU3ViSXRlbXMpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjZW50ZXItbWVudS1zdWItbWVudS1ib3JkZXJcIiBbbmdDbGFzc109XCIhaXNPcGVuZWQgPyAnaGlkZGVuJyA6ICcnXCIgIChtb3VzZWxlYXZlKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudUJvcmRlcicsIGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudUJvcmRlcicsIHRydWUpXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLW1lbnUtc3ViLW1lbnVcIiBbbmdDbGFzc109XCIhaXNPcGVuZWQgPyAnaGlkZGVuJyA6ICcnXCIgIChtb3VzZWxlYXZlKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudScsIGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNldEhvdmVyZWRTdGF0ZSgnc3VibWVudScsIHRydWUpXCI+XHJcbiAgICAgIDxsaWItdG9vbC1odWItc3ViLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWN0aXZlU3ViSXRlbXNcIlxyXG4gICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCIndG9vbGh1Yl9zdWJpdGVtXycgKyBpdGVtLmJ1dHRvbklkXCJcclxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICAoY2xpY2spID0gXCJjbGlja1Rvb2xIdWJTdWJJdGVtKGl0ZW0uYnV0dG9uSWQpXCJcclxuICAgICAgPjwvbGliLXRvb2wtaHViLXN1Yi1pdGVtPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLW1lbnUtc3ViLW1lbnUtZGVhZC16b25lXCIgW25nQ2xhc3NdPVwiIWlzT3BlbmVkID8gJ2hpZGRlbicgOiAnJ1wiIChtb3VzZWxlYXZlKT1cInNldEhvdmVyZWRTdGF0ZSgnZGVhZFpvbmUnLCBmYWxzZSlcIiAobW91c2VlbnRlcik9XCJzZXRIb3ZlcmVkU3RhdGUoJ2RlYWRab25lJywgdHJ1ZSlcIj48L2Rpdj5cclxuICB9XHJcblxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class NgxBimplusComponentsService {
|
|
4
|
-
constructor() { }
|
|
5
4
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NgxBimplusComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6
5
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NgxBimplusComponentsService, providedIn: 'root' }); }
|
|
7
6
|
}
|
|
@@ -10,5 +9,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
10
9
|
args: [{
|
|
11
10
|
providedIn: 'root'
|
|
12
11
|
}]
|
|
13
|
-
}]
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
}] });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJpbXBsdXMtY29tcG9uZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL25neC1iaW1wbHVzLWNvbXBvbmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sMkJBQTJCOzhHQUEzQiwyQkFBMkI7a0hBQTNCLDJCQUEyQixjQUYxQixNQUFNOzsyRkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4QmltcGx1c0NvbXBvbmVudHNTZXJ2aWNlIHtcclxuXHJcbn1cclxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/ngx-bimplus-components.service';
|
|
5
5
|
export * from './lib/ngx-bimplus-components.component';
|
|
6
|
-
export * from './lib/components/bimplus-
|
|
6
|
+
export * from './lib/components/bimplus-contact/bimplus-contact.component';
|
|
7
7
|
export * from './lib/components/bimplus-language-menu/bimplus-language-menu.component';
|
|
8
8
|
export * from './lib/components/bimplus-localized-widget/bimplus-localized-widget.component';
|
|
9
9
|
export * from './lib/components/bimplus-main-menu/bimplus-main-menu.component';
|
|
10
|
+
export * from './lib/components/bimplus-navbar/bimplus-navbar.component';
|
|
11
|
+
export * from './lib/components/bimplus-notify/bimplus-notify.component';
|
|
10
12
|
export * from './lib/components/bimplus-sidenav/bimplus-sidenav.component';
|
|
13
|
+
export * from './lib/components/bimplus-storage-info/bimplus-storage-info.component';
|
|
11
14
|
export * from './lib/components/bimplus-tool-hub/bimplus-tool-hub.component';
|
|
12
|
-
export * from './lib/components/bimplus-contact/bimplus-contact.component';
|
|
13
|
-
export * from './lib/components/bimplus-zoom/bimplus-zoom.component';
|
|
14
|
-
export * from './lib/components/bimplus-notify/bimplus-notify.component';
|
|
15
15
|
export * from './lib/components/bimplus-user-menu/bimplus-user-menu.component';
|
|
16
|
-
export * from './lib/components/bimplus-
|
|
16
|
+
export * from './lib/components/bimplus-zoom/bimplus-zoom.component';
|
|
17
17
|
export * from './lib/services/language-strings.service';
|
|
18
18
|
export * from './lib/types/types';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtYmltcGx1cy1jb21wb25lbnRzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LWJpbXBsdXMtY29tcG9uZW50cy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LWJpbXBsdXMtY29tcG9uZW50cy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtY29udGFjdC9iaW1wbHVzLWNvbnRhY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iaW1wbHVzLWxhbmd1YWdlLW1lbnUvYmltcGx1cy1sYW5ndWFnZS1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtbWFpbi1tZW51L2JpbXBsdXMtbWFpbi1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmltcGx1cy1uYXZiYXIvYmltcGx1cy1uYXZiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iaW1wbHVzLW5vdGlmeS9iaW1wbHVzLW5vdGlmeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtc2lkZW5hdi9iaW1wbHVzLXNpZGVuYXYuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iaW1wbHVzLXN0b3JhZ2UtaW5mby9iaW1wbHVzLXN0b3JhZ2UtaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtdG9vbC1odWIvYmltcGx1cy10b29sLWh1Yi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtdXNlci1tZW51L2JpbXBsdXMtdXNlci1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmltcGx1cy16b29tL2JpbXBsdXMtem9vbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sYW5ndWFnZS1zdHJpbmdzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy90eXBlcyc7XHJcbiJdfQ==
|