@colijnit/homedecorator 255.1.2 → 255.1.3
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/app/core/model/homedecorator-settings-options.d.ts +1 -0
- package/app/core/service/homedecorator-connector-adapter.service.d.ts +1 -1
- package/app/core/service/utils.service.d.ts +1 -0
- package/app/plugins/core3d/components/ar-gui/ar-gui-root/ar-gui-elements/ar-gui-buttons/ar-gui-buttons.component.scss +2 -4
- package/app/plugins/core3d/items/floor-plane-item.d.ts +8 -1
- package/app/plugins/core3d/items/metadata.d.ts +2 -0
- package/app/plugins/core3d/service/ar.service.d.ts +1 -0
- package/app/plugins/core3d/service/floor-pattern.service.d.ts +26 -0
- package/app/plugins/core3d/service/floor-tile-intersection.service.d.ts +25 -0
- package/app/plugins/core3d/service/outline.service.d.ts +1 -2
- package/app/plugins/core3d/service/post-processing.service.d.ts +6 -0
- package/app/plugins/core3d/service/scene.service.d.ts +4 -1
- package/app/plugins/core3d/service/ssr.service.d.ts +18 -0
- package/app/plugins/model-uploader/model-previewer/model-preview.component.d.ts +40 -3
- package/app/plugins/render/service/new-render.service.d.ts +1 -0
- package/app/plugins/threedselector/threedselector/service/build-furniture.service.d.ts +10 -1
- package/app/plugins/threedselector/threedselector/threedselector.component.d.ts +1 -0
- package/app/plugins/toolbar/toolbar.module.d.ts +2 -1
- package/app/shared/pdf-export/pdf-export.component.d.ts +20 -0
- package/app/shared/pdf-export/pdf-export.component.scss +19 -0
- package/app/shared/pdf-export/pdf-export.module.d.ts +11 -0
- package/assets/icons/pen-ruler.svg +1 -0
- package/assets/icons/xmark_regular.svg +1 -0
- package/bundles/colijnit-homedecorator.umd.js +1195 -174
- package/bundles/colijnit-homedecorator.umd.js.map +1 -1
- package/colijnit-homedecorator-255.1.2.tgz +0 -0
- package/esm2015/app/app.version.js +4 -4
- package/esm2015/app/core/model/homedecorator-settings-options.js +2 -1
- package/esm2015/app/core/model/light-preset.js +11 -7
- package/esm2015/app/core/service/homedecorator-connector-adapter.service.js +4 -6
- package/esm2015/app/core/service/homedecorator-connector.service.js +3 -1
- package/esm2015/app/core/service/utils.service.js +16 -1
- package/esm2015/app/plugins/core3d/components/ar-gui/ar-gui-root/ar-gui-elements/ar-gui-buttons/ar-gui-buttons.component.js +2 -2
- package/esm2015/app/plugins/core3d/items/floor-plane-item.js +25 -2
- package/esm2015/app/plugins/core3d/items/metadata.js +1 -1
- package/esm2015/app/plugins/core3d/service/ar.service.js +14 -1
- package/esm2015/app/plugins/core3d/service/floor-pattern.service.js +156 -0
- package/esm2015/app/plugins/core3d/service/floor-tile-intersection.service.js +122 -0
- package/esm2015/app/plugins/core3d/service/floor.service.js +5 -2
- package/esm2015/app/plugins/core3d/service/outline.service.js +9 -8
- package/esm2015/app/plugins/core3d/service/post-processing.service.js +77 -22
- package/esm2015/app/plugins/core3d/service/scene.service.js +30 -13
- package/esm2015/app/plugins/core3d/service/ssr.service.js +53 -0
- package/esm2015/app/plugins/lite-selector/lite-selector/component/selections-summary/selections-summary.component.js +3 -3
- package/esm2015/app/plugins/model-uploader/model-previewer/model-preview.component.js +335 -79
- package/esm2015/app/plugins/model-uploader/model-uploader/model-uploader.component.js +3 -2
- package/esm2015/app/plugins/product-catalog/product-catalog/product-catalog.component.js +3 -2
- package/esm2015/app/plugins/render/service/new-render.service.js +37 -13
- package/esm2015/app/plugins/threedselector/threedselector/service/build-furniture.service.js +135 -5
- package/esm2015/app/plugins/threedselector/threedselector/threedselector.component.js +34 -8
- package/esm2015/app/plugins/toolbar/toolbar/toolbar.component.js +9 -25
- package/esm2015/app/plugins/toolbar/toolbar.module.js +8 -4
- package/esm2015/app/shared/pdf-export/pdf-export.component.js +86 -0
- package/esm2015/app/shared/pdf-export/pdf-export.module.js +38 -0
- package/fesm2015/colijnit-homedecorator.js +1156 -181
- package/fesm2015/colijnit-homedecorator.js.map +1 -1
- package/package.json +2 -2
- package/assets/hdri/ground_MASK.jpg +0 -0
|
@@ -375,20 +375,12 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
375
375
|
<mat-icon class="homedecorator-material-icons" matTooltip="{{'DOWNLOAD_ROOM_AS_GLB' | localize}}">cloud_download</mat-icon>
|
|
376
376
|
</button>
|
|
377
377
|
</ng-container>
|
|
378
|
+
<div class="hd-toolbar-spacer"></div>
|
|
378
379
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
<!-- </button>-->
|
|
383
|
-
<!-- </ng-container>-->
|
|
384
|
-
|
|
385
|
-
<!-- <ng-container>-->
|
|
386
|
-
<!-- <button mat-icon-button (click)="testRender()">-->
|
|
387
|
-
<!-- TEST-->
|
|
388
|
-
<!-- </button>-->
|
|
389
|
-
<!-- </ng-container>-->
|
|
380
|
+
<!-- <ng-container>-->
|
|
381
|
+
<!-- <rp-pdf-export></rp-pdf-export>-->
|
|
382
|
+
<!-- </ng-container>-->
|
|
390
383
|
|
|
391
|
-
<div class="hd-toolbar-spacer"></div>
|
|
392
384
|
<mat-nav-list class="toolbar__nav" role="list">
|
|
393
385
|
<div matTooltip="{{'NEW_ROOM' | localize}}">
|
|
394
386
|
<mat-list-item role="listitem" (click)="newRoom()">{{ 'NEW' | localize }}</mat-list-item>
|
|
@@ -539,20 +531,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
539
531
|
<mat-icon class="homedecorator-material-icons" matTooltip="{{'DOWNLOAD_ROOM_AS_GLB' | localize}}">cloud_download</mat-icon>
|
|
540
532
|
</button>
|
|
541
533
|
</ng-container>
|
|
534
|
+
<div class="hd-toolbar-spacer"></div>
|
|
542
535
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
<!-- </button>-->
|
|
547
|
-
<!-- </ng-container>-->
|
|
548
|
-
|
|
549
|
-
<!-- <ng-container>-->
|
|
550
|
-
<!-- <button mat-icon-button (click)="testRender()">-->
|
|
551
|
-
<!-- TEST-->
|
|
552
|
-
<!-- </button>-->
|
|
553
|
-
<!-- </ng-container>-->
|
|
536
|
+
<!-- <ng-container>-->
|
|
537
|
+
<!-- <rp-pdf-export></rp-pdf-export>-->
|
|
538
|
+
<!-- </ng-container>-->
|
|
554
539
|
|
|
555
|
-
<div class="hd-toolbar-spacer"></div>
|
|
556
540
|
<mat-nav-list class="toolbar__nav" role="list">
|
|
557
541
|
<div matTooltip="{{'NEW_ROOM' | localize}}">
|
|
558
542
|
<mat-list-item role="listitem" (click)="newRoom()">{{ 'NEW' | localize }}</mat-list-item>
|
|
@@ -673,4 +657,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
673
657
|
type: HostListener,
|
|
674
658
|
args: ['document:keydown', ['$event']]
|
|
675
659
|
}] } });
|
|
676
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2FwcC9wbHVnaW5zL3Rvb2xiYXIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQWtDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHbkQsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDakUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFrQnRELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRW5HLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRXBGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyS25H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QUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDOzRCQUNuRCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7NEJBQ3RELFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7eUJBQzFELENBQUM7cUJBQ0gsQ0FBQTtxRUFDZ0Q7aUJBQ2xEO2dwQkF5QjJDLFdBQVc7c0JBQXBELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFHakMsYUFBYTtzQkFEbkIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUZW1wbGF0ZVBvcnRhbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQge01hdERyYXdlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xyXG5pbXBvcnQge01lc3NhZ2VUeXBlfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VudW0vbWVzc2FnZS10eXBlLmVudW0nO1xyXG5pbXBvcnQge1RvYXN0VHlwZX0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbC90b2FzdC10eXBlJztcclxuaW1wb3J0IHtJY29uRW51bX0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7VG9hc3R9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWwvdG9hc3QnO1xyXG5pbXBvcnQge0FwcFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlL2FwcC1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtQcmVzZXRzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlL3ByZXNldHMuc2VydmljZSc7XHJcbmltcG9ydCB7TWVzc2FnZUJ1c1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZS9tZXNzYWdlLWJ1cy5zZXJ2aWNlJztcclxuaW1wb3J0IHtIb21lZGVjb3JhdG9yU2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvaG9tZWRlY29yYXRvci1zZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHtMb2NhbFN0b3JhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7U2NyZWVuU2l6ZUFuYWx5c2lzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NjcmVlbi1zaXplLWFuYWx5c2lzL3NjcmVlbi1zaXplLWFuYWx5c2lzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RvYXN0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlL3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQge0hvbWVkZWNvcmF0b3JBcHBTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvaG9tZWRlY29yYXRvci1hcHAuc2VydmljZSc7XHJcbmltcG9ydCB7UGVybWFuZW50U3RvcmVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvcGVybWFuZW50LXN0b3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1V0aWxzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RocmVlZHNlbGVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vdGhyZWVkc2VsZWN0b3IvdGhyZWVkc2VsZWN0b3Ivc2VydmljZS90aHJlZWRzZWxlY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtJdGVtU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZTNkL3NlcnZpY2UvaXRlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHtGbG9vcnBsYW5TZXJ2aWNlfSBmcm9tICcuLi8uLi9yb29tLXBsYW5uZXIvY29tcG9uZW50cy9mbG9vcnBsYW5uZXIvc2VydmljZS9mbG9vcnBsYW4uc2VydmljZSc7XHJcbmltcG9ydCB7Rmxvb3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlM2Qvc2VydmljZS9mbG9vci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBbmltYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi90aHJlZWRzZWxlY3Rvci90aHJlZWRzZWxlY3Rvci9zZXJ2aWNlL2FuaW1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEZXZlbG9wbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2RldmVsb3BtZW50L3NlcnZpY2UvZGV2ZWxvcG1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7TGFuZGluZ1NjcmVlbk1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi9sYW5kaW5nLXNjcmVlbi1tb2RhbC9sYW5kaW5nLXNjcmVlbi1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0l0ZW19IGZyb20gJy4uLy4uL2NvcmUzZC9pdGVtcy9pdGVtJztcclxuaW1wb3J0IHtSZWdpc3RlckRpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JlZ2lzdGVyLWRpYWxvZy9yZWdpc3Rlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtPcGVuRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi9vcGVuLWRpYWxvZy9vcGVuLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NhdmVEaWFsb2dDb21wb25lbnR9IGZyb20gJy4uL3NhdmUtZGlhbG9nL3NhdmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VG9vbGJhckljb259IGZyb20gJy4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlL3Rvb2xiYXItaWNvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0RyYXdEaWFsb2dDb21wb25lbnR9IGZyb20gJy4uL2RyYXctZGlhbG9nL2RyYXctZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGRmQ3JvcERpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vcGRmLWNyb3AtZGlhbG9nL3BkZi1jcm9wLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge05ld1JlbmRlclNlcnZpY2V9IGZyb20gJy4uLy4uL3JlbmRlci9zZXJ2aWNlL25ldy1yZW5kZXIuc2VydmljZSc7XHJcbmltcG9ydCB7TW9kZWxQcmV2aWV3Q29tcG9uZW50fSBmcm9tICcuLi8uLi9tb2RlbC11cGxvYWRlci9tb2RlbC1wcmV2aWV3ZXIvbW9kZWwtcHJldmlldy5jb21wb25lbnQnO1xyXG5cclxuaW50ZXJmYWNlIENsb3NpbmdPcHRpb25zIHtcclxuICBrZWVwVGVtcGxhdGVSZWY/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JwLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8IS0tXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5ZXIgbGF5ZXImIzQ1OyYjNDU7dG9vbGJhclwiPlxyXG4gICAgLS0+XHJcbiAgICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJ0b29sYmFyXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJwaG9uZVNpemVTY3JlZW5cIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJtZW51LWljb25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj5tZW51PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjbWVudT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIHRvb2xiYXJJY29uc1RvcFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImljb24ucG9ydGFsXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtbWVudT5cclxuXHJcbiAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy9sb2dvLnN2Z1wiIGNsYXNzPVwidG9vbGJhci1sb2dvXCIvPlxyXG4gICAgICA8aW1nICpuZ0lmPVwic2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlY29uZGFyeUxvZ29cIiBbc3JjXT1cInNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWNvbmRhcnlMb2dvXCJcclxuICAgICAgICAgICBjbGFzcz1cInRvb2xiYXItbG9nbyBzZWNvbmRhcnktbG9nb1wiLz5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5vcHRpb25zLmRldmVsb3BtZW50XCI+XHJcbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwid2lwLWNhcmRcIj5cclxuICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICB7eyAnV09SS19JTl9QUk9HUkVTUycgfCBsb2NhbGl6ZSB9fVxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImxvYWRSb29tKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj53ZWVrZW5kPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibG9hZFJlc2l6YWJsZVJvb20oKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaG9tZWRlY29yYXRvci1tYXRlcmlhbC1pY29uc1wiPmNhbWVyYS1jb250cm9sPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Mub3B0aW9ucy5zaG93Um9vbURvd25sb2FkQnV0dG9uXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRvd25sb2FkUm9vbSgpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCIgbWF0VG9vbHRpcD1cInt7J0RPV05MT0FEX1JPT01fQVNfR0xCJyB8IGxvY2FsaXplfX1cIj5jbG91ZF9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Mub3B0aW9ucy5zaG93Um9vbVJlbmRlckJ1dHRvblwiPi0tPlxyXG4gICAgICA8IS0tICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXBpUm9vbVJlbmRlcigpXCI+LS0+XHJcbiAgICAgIDwhLS0gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaG9tZWRlY29yYXRvci1tYXRlcmlhbC1pY29uc1wiIG1hdFRvb2x0aXA9XCJ7eydSRU5ERVJfR0xCJyB8IGxvY2FsaXplfX1cIj5zaGFyZV93aW5kb3dzPC9tYXQtaWNvbj4tLT5cclxuICAgICAgPCEtLSAgICAgICAgPC9idXR0b24+LS0+XHJcbiAgICAgIDwhLS0gICAgICA8L25nLWNvbnRhaW5lcj4tLT5cclxuXHJcbiAgICAgIDwhLS0gICAgICA8bmctY29udGFpbmVyPi0tPlxyXG4gICAgICA8IS0tICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidGVzdFJlbmRlcigpXCI+LS0+XHJcbiAgICAgIDwhLS0gICAgICAgICAgVEVTVC0tPlxyXG4gICAgICA8IS0tICAgICAgICA8L2J1dHRvbj4tLT5cclxuICAgICAgPCEtLSAgICAgIDwvbmctY29udGFpbmVyPi0tPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImhkLXRvb2xiYXItc3BhY2VyXCI+PC9kaXY+XHJcbiAgICAgIDxtYXQtbmF2LWxpc3QgY2xhc3M9XCJ0b29sYmFyX19uYXZcIiByb2xlPVwibGlzdFwiPlxyXG4gICAgICAgIDxkaXYgbWF0VG9vbHRpcD1cInt7J05FV19ST09NJyB8IGxvY2FsaXplfX1cIj5cclxuICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJuZXdSb29tKClcIj57eyAnTkVXJyB8IGxvY2FsaXplIH19PC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgbWF0VG9vbHRpcD1cInt7J09QRU5fRVhJU1RJTkdfUExBTicgfCBsb2NhbGl6ZX19XCI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb2xlPVwibGlzdGl0ZW1cIiAoY2xpY2spPVwib3Blbk9wZW5EaWFsb2coKVwiPnt7ICdPUEVOJyB8IGxvY2FsaXplIH19PC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzdG9yYWdlU2VydmljZS5lcnJvcldoZW5TYXZpbmdcIiBjbGFzcz1cInN0b3JhZ2UtZXJyb3JcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLmJsaW5rZXJdPVwic2hvd0JsaW5rRXJyb3JcIiBtYXRUb29sdGlwPVwie3snRVJST1JfU0FWSU5HX0xPQ0FMU1RPUkFHRScgfCBsb2NhbGl6ZX19XCJcclxuICAgICAgICAgICAgIChtb3VzZW1vdmUpPVwic2hvd0JsaW5rRXJyb3IgPSBmYWxzZVwiXHJcbiAgICAgICAgPjxzcGFuPiE8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBbY2xhc3MuYmxpbmtlcl09XCIhc2hvd1NhdmVOb3RpZmljYXRpb25cIiBtYXRUb29sdGlwPVwie3snU0FWRV9USEVfUExBTicgfCBsb2NhbGl6ZX19XCI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbVxyXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwie3snU0FWRV9UT09MVElQJyB8IGxvY2FsaXplfX1cIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cInRvb2x0aXBEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz1cInRvb2x0aXAtcmVkXCJcclxuICAgICAgICAgICAgcm9sZT1cImxpc3RpdGVtXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TYXZlRGlhbG9nKCkgJiYgc3RvcFRpbWVyKClcIlxyXG4gICAgICAgICAgPnt7ICdTQVZFJyB8IGxvY2FsaXplIH19XHJcbiAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJiYWRnZVwiXHJcbiAgICAgICAgICBtYXRCYWRnZT1cIiFcIlxyXG4gICAgICAgICAgbWF0QmFkZ2VDb2xvcj1cIndhcm5cIlxyXG4gICAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImJlbG93IGJlZm9yZVwiXHJcbiAgICAgICAgICBtYXRCYWRnZU92ZXJsYXA9XCJ0cnVlXCJcclxuICAgICAgICAgIG1hdEJhZGdlU2l6ZT1cIm1lZGl1bVwiXHJcbiAgICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiYmFkZ2VEaXNhYmxlZFwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1uYXYtbGlzdD5cclxuICAgICAgPGRpdiBtYXRUb29sdGlwPVwie3snU0FWRV9JTUFHRScgfCBsb2NhbGl6ZX19XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uVGFrZVNjcmVlbnNob3RDbGljaygpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCI+cGhvdG9fY2FtZXJhPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgbWF0VG9vbHRpcD1cInt7J1VORE8nIHwgbG9jYWxpemV9fVwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtZXNzYWdlU2VydmljZS5lbWl0KG1lc3NhZ2VUeXBlLlVuZG8pXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwcmVzZXRzU2VydmljZS5pc0xvYWRpbmcgfHwgIWFwcFN0YXRlLmNhblVuZG8oKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaG9tZWRlY29yYXRvci1tYXRlcmlhbC1pY29uc1wiPnVuZG88L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBtYXRUb29sdGlwPVwie3snUkVETycgfCBsb2NhbGl6ZX19XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm1lc3NhZ2VTZXJ2aWNlLmVtaXQobWVzc2FnZVR5cGUuUmVkbylcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByZXNldHNTZXJ2aWNlLmlzTG9hZGluZyB8fCAhYXBwU3RhdGUuY2FuUmVkbygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCI+cmVkbzwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIiFmdWxsc2NyZWVuXCIgKGNsaWNrKT1cInJlcXVlc3RGdWxsc2NyZWVuKClcIiBtYXRUb29sdGlwPVwie3snUkVRVUVTVF9GVUxMU0NSRUVOJyB8IGxvY2FsaXplfX1cIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCI+ZnVsbHNjcmVlbjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImZ1bGxzY3JlZW5cIiAoY2xpY2spPVwiZXhpdEZ1bGxzY3JlZW4oKVwiIG1hdFRvb2x0aXA9XCJ7eydFWElUX0ZVTExTQ1JFRU4nIHwgbG9jYWxpemV9fVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj5mdWxsc2NyZWVuX2V4aXQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LXRvb2xiYXI+XHJcblxyXG4gICAgPGxpbWl0ZWQtbW9kZS1tZXNzYWdlXHJcbiAgICAgICpuZ0lmPVwicGhvbmVTaXplU2NyZWVuICYmIHNob3dMaW1pdGVkTW9kZU1lc3NhZ2VcIlxyXG4gICAgICAoY2xvc2VDbGlja2VkKT1cIm9uQ2xvc2VMaW1pdGVkTW9kZU1lc3NhZ2VDbGljaygpXCI+XHJcbiAgICA8L2xpbWl0ZWQtbW9kZS1tZXNzYWdlPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC13cmFwcGVyXCJcclxuICAgICAgICAgW2NsYXNzLnN1Y2Nlc3NdPVwidG9hc3QudHlwZSA9PSAgdG9hc3RUeXBlLlN1Y2Nlc3NcIlxyXG4gICAgICAgICBbY2xhc3Mud2FybmluZ109XCJ0b2FzdC50eXBlID09ICB0b2FzdFR5cGUuV2FybmluZ1wiXHJcbiAgICAgICAgIFtjbGFzcy5lcnJvcl09XCJ0b2FzdC50eXBlID09ICB0b2FzdFR5cGUuRXJyb3JcIlxyXG4gICAgICAgICAqbmdJZj1cInRvYXN0XCJcclxuICAgICAgICAgQHNob3dUb2FzdFxyXG4gICAgICAgICBbdGV4dENvbnRlbnRdPVwidG9hc3QubWVzc2FnZVwiPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1hdC10b29sYmFyLXJvdyBjbGFzcz1cInRvb2xiYXItcm93XCI+XHJcbiAgICAgIDxtYXQtdG9vbGJhciBjbGFzcz1cInRvb2xiYXIgdG9vbGJhci0tc2Vjb25kYXJ5XCIgKm5nSWY9XCIhcGhvbmVTaXplU2NyZWVuXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiB0b29sYmFySWNvbnNUb3BcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Nka1BvcnRhbE91dGxldF09XCJpY29uLnBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaGQtdG9vbGJhci1zcGFjZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiB0b29sYmFySWNvbnNCb3R0b21cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Nka1BvcnRhbE91dGxldF09XCJpY29uLnBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC10b29sYmFyPlxyXG5cclxuICAgICAgPG1hdC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwiZHJhd2VyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxtYXQtZHJhd2VyIGNsYXNzPVwiZHJhd2VyXCIgbW9kZT1cIm92ZXJcIiBwb3NpdGlvbj1cImxlZnRcIiAjbGVmdFNpZGViYXI+XHJcbiAgICAgICAgICA8bWF0LWRyYXdlci1jb250ZW50IGNsYXNzPVwiZHJhd2VyX19ib2R5XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkcmF3ZXJfX2J1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xpY2tDbG9zZUxlZnRTaWRlYmFyKClcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCI+Y2xlYXI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImxlZnRQb3J0YWxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbWF0LWRyYXdlci1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWRyYXdlcj5cclxuICAgICAgPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cclxuICAgIDwvbWF0LXRvb2xiYXItcm93PlxyXG4gICAgPCEtLVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAtLT5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzaG93VG9hc3QnLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyd0cmFuc2Zvcm0tb3JpZ2luJzogJ3RvcCBjZW50ZXInLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTEwMCUpJ30pKSxcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7J3RyYW5zZm9ybS1vcmlnaW4nOiAndG9wIGNlbnRlcicsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtNTAlLCAwKSd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPD0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKVxyXG4gICAgXSksXHJcbiAgICB0cmlnZ2VyKCdzaG93TGVmdFRvb2xiYXInLCBbXHJcbiAgICAgIHN0YXRlKCdzaG93Jywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJ30pKSxcclxuICAgICAgc3RhdGUoJ2hpZGUnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdzaG93IDw9PiBoaWRlJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSlcclxuICAgIF0pXHJcbiAgXS8qLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoKi9cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSB0b2FzdFR5cGU6IHR5cGVvZiBUb2FzdFR5cGUgPSBUb2FzdFR5cGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VUeXBlOiB0eXBlb2YgTWVzc2FnZVR5cGUgPSBNZXNzYWdlVHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uRW51bSA9IEljb25FbnVtO1xyXG5cclxuICBsZWZ0UG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xyXG4gIGxhc3RUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICByaWdodFBvcnRhbDogVGVtcGxhdGVQb3J0YWw8YW55PjtcclxuICB0b29sYmFySWNvbnNUb3A6IFRvb2xiYXJJY29uW10gPSBbXTtcclxuICB0b29sYmFySWNvbnNCb3R0b206IFRvb2xiYXJJY29uW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNob3dCbGlua0Vycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1NhdmVOb3RpZmljYXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyB0b2FzdDogVG9hc3Q7XHJcbiAgcHVibGljIHBob25lU2l6ZVNjcmVlbjogYm9vbGVhbjtcclxuICBwdWJsaWMgc2hvd0xpbWl0ZWRNb2RlTWVzc2FnZSA9IHRydWU7XHJcbiAgcHVibGljIHRpbWVMZWZ0OiBudW1iZXIgPSA5MDA7XHJcbiAgcHVibGljIGludGVydmFsO1xyXG4gIHB1YmxpYyB0b29sdGlwRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBiYWRnZURpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbGVmdFNpZGViYXInLCB7c3RhdGljOiB0cnVlfSkgbGVmdFNpZGViYXI6IE1hdERyYXdlcjtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50LmtleSA9PT0gJ1MnKSB7XHJcbiAgICAgIHRoaXMuX3Nob3dTYXZlRGlhbG9nKGZhbHNlLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGZ1bGxzY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQgfHwgLy8gYWx0ZXJuYXRpdmUgc3RhbmRhcmQgbWV0aG9kXHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZG9jdW1lbnQubW96RnVsbFNjcmVlbkVsZW1lbnQgfHwgZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQgfHwgZG9jdW1lbnQubXNGdWxsc2NyZWVuRWxlbWVudDsgLy8gY3VycmVudCB3b3JraW5nIG1ldGhvZHNcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcHJlc2V0c1NlcnZpY2U6IFByZXNldHNTZXJ2aWNlLFxyXG4gICAgcHVibGljIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlQnVzU2VydmljZSxcclxuICAgIHB1YmxpYyBzZXR0aW5nc1NlcnZpY2U6IEhvbWVkZWNvcmF0b3JTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zY3JlZW5TaXplU2VydmljZTogU2NyZWVuU2l6ZUFuYWx5c2lzU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hcHBTZXJ2aWNlOiBIb21lZGVjb3JhdG9yQXBwU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Blcm1hbmVudFN0b3JlU2VydmljZTogUGVybWFuZW50U3RvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90aHJlZWRTZXJ2aWNlOiBUaHJlZWRzZWxlY3RvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9pdGVtU2VydmljZTogSXRlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mbG9vclBsYW5TZXJ2aWNlOiBGbG9vcnBsYW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmxvb3JTZXJ2aWNlOiBGbG9vclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hbmltYXRpb25TZXJ2aWNlOiBBbmltYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGV2ZWxvcG1lbnRTZXJ2aWNlOiBEZXZlbG9wbWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9uZXdSZW5kZXJTZXJ2aWNlOiBOZXdSZW5kZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlNldExlZnRTaWRlYmFyLCAodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pID0+IHRoaXMuX3NldExlZnRTaWRlYmFyKHRlbXBsYXRlUmVmKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLkhpZGVMZWZ0U2lkZWJhciwgKCkgPT4gdGhpcy5fY2xvc2VMZWZ0U2lkZWJhcih7a2VlcFRlbXBsYXRlUmVmOiB0cnVlfSkpLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1YnNjcmliZShNZXNzYWdlVHlwZS5SZWdpc3RlclRvb2xiYXJJY29uLCAoaWNvbjogVG9vbGJhckljb24pID0+IHRoaXMuX3JlZ2lzdGVyVG9vbGJhckljb24oaWNvbikpLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1YnNjcmliZShNZXNzYWdlVHlwZS5WaWV3TW9kZUNoYW5nZWQsICgpID0+IHRoaXMuX2Nsb3NlTGVmdFNpZGViYXIoKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLk5ld1Jvb20sICgpID0+IHRoaXMubmV3Um9vbSgpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuU2hvd09wZW5EaWFsb2csICgpID0+IHRoaXMub3Blbk9wZW5EaWFsb2coKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLkZpbmlzaGVkSU9uZUZ1cm5pdHVyZUJ1aWxkLCAoKSA9PiB0aGlzLl9oaWRlVG9hc3QoKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlVuZGVmaW5lZEVycm9yT2NjdXJlZCwgKCkgPT4gdGhpcy5faGlkZVRvYXN0KCkpLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1YnNjcmliZShNZXNzYWdlVHlwZS5SZW5kZXJTZXJ2aWNlVHJ5VG9Db25uZWN0LCAoKSA9PiB0aGlzLl9oaWRlVG9hc3QoKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlJlbmRlclNlcnZpY2VDb25uZWN0ZWQsICgpID0+IHRoaXMuX2hpZGVUb2FzdCgpKSxcclxuICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3dUb2FzdFN1Yi5zdWJzY3JpYmUoKHRvYXN0OiBUb2FzdCkgPT4gdGhpcy5fc2hvd1RvYXN0KHRvYXN0KSksXHJcbiAgICAgIHRoaXMuX3NjcmVlblNpemVTZXJ2aWNlLnNjcmVlblNpemVDaGFuZ2VkLnN1YnNjcmliZShpbmZvID0+IHRoaXMucGhvbmVTaXplU2NyZWVuID0gaW5mby5pc1Bob25lU2l6ZSksXHJcbiAgICAgIC8vIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlN0YXJ0V2l0aERpYWdyYW0sICgpID0+IHRoaXMub3BlblVwbG9hZERpYWdyYW0oKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlN0YXJ0RHJhd2luZ0RpYWdyYW0sIChmaWxlKSA9PiB0aGlzLm9wZW5EcmF3RGlhZ3JhbShmaWxlKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlN0YXJ0Q3JvcHBpbmdQREYsIChmaWxlKSA9PiB0aGlzLm9wZW5Dcm9wcGluZ0RpYWdyYW0oZmlsZSkpLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1YnNjcmliZShNZXNzYWdlVHlwZS5Vc2VyTW9kZWxVcGxvYWRlZCwgKGZpbGUpID0+IHRoaXMub3Blbk1vZGVsUHJldmlldyhmaWxlKSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLmxhc3RUZW1wbGF0ZVJlZiA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnRpbWVMZWZ0ID4gMCkge1xyXG4gICAgICAgIHRoaXMudGltZUxlZnQtLTtcclxuICAgICAgICB0aGlzLnNhdmVOb3RpZmljYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xpY2tDbG9zZUxlZnRTaWRlYmFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2xvc2VMZWZ0U2lkZWJhcigpO1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5lbWl0KE1lc3NhZ2VUeXBlLkxlZnRTaWRlYmFyQ2xvc2VDbGlja2VkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZXdSb29tKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2xvc2VMZWZ0U2lkZWJhcigpO1xyXG4gICAgdGhpcy5fYXBwU2VydmljZS51c2VyUmVnaXN0ZXJlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oTGFuZGluZ1NjcmVlbk1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnODYwcHgnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbmltYXRlTW9kZWwoZWxlbWVudDogSXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5fYW5pbWF0aW9uU2VydmljZS5wbGF5QW5pbWF0aW9uKGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9wZW5TYXZlRGlhbG9nKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9wZXJtYW5lbnRTdG9yZVNlcnZpY2UuY29kZSkge1xyXG4gICAgICB0aGlzLl9zaG93U2F2ZURpYWxvZyhmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX2FwcFNlcnZpY2UudXNlclJlZ2lzdGVyZWQgJiYgdGhpcy5fcGVybWFuZW50U3RvcmVTZXJ2aWNlLmNvZGUgJiYgZW52aXJvbm1lbnQucHJvZHVjdGlvbiAmJiB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5vcHRpb25zLnNob3dGb3JtRGlhbG9nKSB7XHJcbiAgICAgIGNvbnN0IHJlZ0RpYWxvZyA9IHRoaXMuX2RpYWxvZy5vcGVuKFJlZ2lzdGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6ICc0MDBweCcsXHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICAgIH0pO1xyXG4gICAgICByZWdEaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlZ2lzdGVyZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVnaXN0ZXJlZCkge1xyXG4gICAgICAgICAgdGhpcy5fYXBwU2VydmljZS51c2VyUmVnaXN0ZXJlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLl9zaG93U2F2ZURpYWxvZyhmYWxzZSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9wZXJtYW5lbnRTdG9yZVNlcnZpY2UuY29kZS8qICYmICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uKi8pIHtcclxuICAgICAgdGhpcy5fc2hvd1NhdmVEaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuT3BlbkRpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKE9wZW5EaWFsb2dDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvYWRSb29tKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgb2JqID0gYXdhaXQgdGhpcy5fdXRpbHNTZXJ2aWNlLmxvYWRHbGJSb29tKCdodHRwczovL2NkbjEuY29saWpuLWl0Lm5sL2NvbnRlbnQ0My9hc3NldHMvU3RhdGlvbjdfS2F0dGVuYnVyZ18yMTA0MTQuZ2xiJyk7XHJcbiAgICAvLyBjb25zdCBvYmogPSBhd2FpdCB0aGlzLl91dGlsc1NlcnZpY2UubG9hZEdsYlJvb20oJ2h0dHBzOi8vY2RuMS5jb2xpam4taXQubmwvY29udGVudDQzL2Fzc2V0cy9TdGF0aW9uN19LYXR0ZW5idXJnX21heF8yMTA2MTZfMV9HTFRGL1N0YXRpb243X0thdHRlbmJ1cmdfbWF4XzIxMDYxNl8xLmdsdGYnKTtcclxuICAgIG9iai5jaGlsZHJlbi5mb3JFYWNoKGMgPT4gYy52aXNpYmxlID0gdHJ1ZSk7XHJcbiAgICAvLyBjb25zdCBib3VuZGluZ0JveCA9IG5ldyBCb3gzKCkuc2V0RnJvbU9iamVjdChvYmopO1xyXG4gICAgLy8gLy8gY3JlYXRlIGZsb29yXHJcbiAgICAvLyBjb25zdCBoYWxmV2lkdGg6IG51bWJlciA9IChib3VuZGluZ0JveC5tYXgueCAtIGJvdW5kaW5nQm94Lm1pbi54KSAvIDI7XHJcbiAgICAvLyBjb25zdCBoYWxmRGVwdGg6IG51bWJlciA9IChib3VuZGluZ0JveC5tYXgueiAtIGJvdW5kaW5nQm94Lm1pbi56KSAvIDI7XHJcbiAgICAvLyBjb25zdCBjb3JuZXJzID0gW1xyXG4gICAgLy8gICB0aGlzLl9mbG9vclBsYW5TZXJ2aWNlLm5ld0Nvcm5lcigtaGFsZldpZHRoLCBoYWxmRGVwdGgpLFxyXG4gICAgLy8gICB0aGlzLl9mbG9vclBsYW5TZXJ2aWNlLm5ld0Nvcm5lcigtaGFsZldpZHRoLCAtaGFsZkRlcHRoKSxcclxuICAgIC8vICAgdGhpcy5fZmxvb3JQbGFuU2VydmljZS5uZXdDb3JuZXIoaGFsZldpZHRoLCAtaGFsZkRlcHRoKSxcclxuICAgIC8vICAgdGhpcy5fZmxvb3JQbGFuU2VydmljZS5uZXdDb3JuZXIoaGFsZldpZHRoLCBoYWxmRGVwdGgpLFxyXG4gICAgLy8gXTtcclxuICAgIC8vIHRoaXMuX2Zsb29yU2VydmljZS5nZW5lcmF0ZUZsb29yUGxhbmUoJ3RyYW5zcGFyZW50JywgdW5kZWZpbmVkLCBjb3JuZXJzKTtcclxuICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmFkZEl0ZW0ob2JqKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2FkUmVzaXphYmxlUm9vbSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IG9iaiA9IGF3YWl0IHRoaXMuX2RldmVsb3BtZW50U2VydmljZS5jcmVhdGVSZXNpemFibGVSb29tKCk7XHJcbiAgICB0aGlzLl9pdGVtU2VydmljZS5hZGRJdGVtKG9iaik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG93bmxvYWRSb29tKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXRpbHNTZXJ2aWNlLnNhdmVSb29tQXNHbGIoKTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhcGlSb29tUmVuZGVyKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5tZXNzYWdlU2VydmljZS5lbWl0KE1lc3NhZ2VUeXBlLlNob3dMb2FkaW5nSW5kaWNhdG9yLCB7dGl0bGU6ICdSZW5kZXJpbmcuLi4nfSk7XHJcbiAgLy8gICB0aGlzLl91dGlsc1NlcnZpY2UucHJlcFJvb21Gb3JSZW5kZXIoKTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBvblVuZG9DbGljaygpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZW1pdChNZXNzYWdlVHlwZS5VbmRvKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJlZG9DbGljaygpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZW1pdChNZXNzYWdlVHlwZS5SZWRvKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlTGltaXRlZE1vZGVNZXNzYWdlQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNob3dMaW1pdGVkTW9kZU1lc3NhZ2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRha2VTY3JlZW5zaG90Q2xpY2soKSB7XHJcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLm9wdGlvbnMuc2hvd0Zvcm1EaWFsb2cpIHtcclxuICAgICAgY29uc3QgcmVnRGlhbG9nID0gdGhpcy5fZGlhbG9nLm9wZW4oUmVnaXN0ZXJEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICBtaW5XaWR0aDogJzQwMHB4JyxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgICAgfSk7XHJcbiAgICAgIHJlZ0RpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyAocmVnaXN0ZXJlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZWdpc3RlcmVkKSB7XHJcbiAgICAgICAgICB0aGlzLl9hcHBTZXJ2aWNlLnVzZXJSZWdpc3RlcmVkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZW1pdChNZXNzYWdlVHlwZS5UYWtlU2NyZWVuc2hvdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZW1pdChNZXNzYWdlVHlwZS5UYWtlU2NyZWVuc2hvdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVxdWVzdEZ1bGxzY3JlZW4oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZnVsbHNjcmVlbikge1xyXG4gICAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tc1JlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tb3pSZXF1ZXN0RnVsbFNjcmVlbikge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbihFbGVtZW50LkFMTE9XX0tFWUJPQVJEX0lOUFVUKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4aXRGdWxsc2NyZWVuKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZnVsbHNjcmVlbikge1xyXG4gICAgICBpZiAoZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgfSBlbHNlIGlmIChkb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbikge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBkb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlTm90aWZpY2F0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMudGltZUxlZnQgPT09IDApIHtcclxuICAgICAgdGhpcy5zaG93U2F2ZU5vdGlmaWNhdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRvb2x0aXBEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmJhZGdlRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9wVGltZXIoKSB7XHJcbiAgICB0aGlzLnRpbWVMZWZ0ID0gOTAwO1xyXG4gICAgdGhpcy5zaG93U2F2ZU5vdGlmaWNhdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLnRvb2x0aXBEaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmJhZGdlRGlzYWJsZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5EcmF3RGlhZ3JhbShmaWxlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RpYWxvZy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oRHJhd0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7ZmlsZTogZmlsZX1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5Dcm9wcGluZ0RpYWdyYW0oZmlsZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaWFsb2cuY2xvc2VBbGwoKTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKFBkZkNyb3BEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge2ZpbGU6IGZpbGV9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuTW9kZWxQcmV2aWV3KGZpbGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oTW9kZWxQcmV2aWV3Q29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtmaWxlOiBmaWxlfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdGVzdFJlbmRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX25ld1JlbmRlclNlcnZpY2UuZm9yY2VSZW5kZXJJbWFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd1NhdmVEaWFsb2cobG9jYWxTYXZlOiBib29sZWFuID0gZmFsc2UsIHNhdmVPbk9wZW5EaWFsb2c6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oU2F2ZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzUwMHB4JyxcclxuICAgICAgZGF0YToge29wZW5Eb3dubG9hZERpYWxvZzogbG9jYWxTYXZlLCBzYXZlT25PcGVuRGlhbG9nOiBzYXZlT25PcGVuRGlhbG9nfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWRlVG9hc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0ID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd1RvYXN0KHRvYXN0OiBUb2FzdCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdCA9IHRvYXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0TGVmdFNpZGViYXIodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxhc3RUZW1wbGF0ZVJlZiA9PT0gdGVtcGxhdGVSZWYgJiYgdGhpcy5sZWZ0UG9ydGFsICYmIHRoaXMubGVmdFBvcnRhbC5pc0F0dGFjaGVkKSB7XHJcbiAgICAgIHRoaXMubGVmdFBvcnRhbC5kZXRhY2goKTtcclxuICAgICAgdGhpcy5sZWZ0U2lkZWJhci5jbG9zZSgpO1xyXG4gICAgICB0aGlzLmxhc3RUZW1wbGF0ZVJlZiA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxlZnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGVSZWYsIHVuZGVmaW5lZCwge30pO1xyXG4gICAgICB0aGlzLmxlZnRTaWRlYmFyLm9wZW4oKTtcclxuICAgICAgdGhpcy5sYXN0VGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlZ2lzdGVyVG9vbGJhckljb24oaWNvbjogVG9vbGJhckljb24pOiB2b2lkIHtcclxuICAgIGljb24ucG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKGljb24udGVtcGxhdGUsIHVuZGVmaW5lZCwge30pO1xyXG4gICAgaWNvbi5wcmlvcml0eSA9IGljb24ucHJpb3JpdHkgfHwgMDtcclxuICAgIGxldCB0b29sYmFySWNvbnM7XHJcbiAgICBpZiAoaWNvbi5wb3NpdGlvbiA9PT0gJ2JvdHRvbScpIHtcclxuICAgICAgdG9vbGJhckljb25zID0gdGhpcy50b29sYmFySWNvbnNCb3R0b207XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0b29sYmFySWNvbnMgPSB0aGlzLnRvb2xiYXJJY29uc1RvcDtcclxuICAgIH1cclxuICAgIHRvb2xiYXJJY29ucy5wdXNoKGljb24pO1xyXG4gICAgdG9vbGJhckljb25zLnNvcnQoKGEsIGIpID0+IGEucHJpb3JpdHkgLSBiLnByaW9yaXR5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlTGVmdFNpZGViYXIob3B0aW9uczogQ2xvc2luZ09wdGlvbnMgPSB7fSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGVmdFBvcnRhbCAmJiB0aGlzLmxlZnRQb3J0YWwuaXNBdHRhY2hlZCkge1xyXG4gICAgICB0aGlzLmxlZnRQb3J0YWwuZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMubGVmdFBvcnRhbCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAoIW9wdGlvbnMua2VlcFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIHRoaXMubGFzdFRlbXBsYXRlUmVmID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmxlZnRTaWRlYmFyKSB7XHJcbiAgICAgIHRoaXMubGVmdFNpZGViYXIuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
660
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2FwcC9wbHVnaW5zL3Rvb2xiYXIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQWtDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHbkQsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDakUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFrQnRELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRW5HLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRXBGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtS25H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QUFDLENBQUM7NEJBQ25ELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQzs0QkFDdEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt5QkFDMUQsQ0FBQztxQkFDSCxDQUFBO3FFQUNnRDtpQkFDbEQ7Z3BCQXlCMkMsV0FBVztzQkFBcEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUdqQyxhQUFhO3NCQURuQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RlbXBsYXRlUG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7TWF0RHJhd2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7TWVzc2FnZVR5cGV9IGZyb20gJy4uLy4uLy4uL2NvcmUvZW51bS9tZXNzYWdlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7VG9hc3RUeXBlfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVsL3RvYXN0LXR5cGUnO1xyXG5pbXBvcnQge0ljb25FbnVtfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUb2FzdH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbC90b2FzdCc7XHJcbmltcG9ydCB7QXBwU3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvYXBwLXN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1ByZXNldHNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvcHJlc2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHtNZXNzYWdlQnVzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlL21lc3NhZ2UtYnVzLnNlcnZpY2UnO1xyXG5pbXBvcnQge0hvbWVkZWNvcmF0b3JTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZS9ob21lZGVjb3JhdG9yLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xvY2FsU3RvcmFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtTY3JlZW5TaXplQW5hbHlzaXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2NyZWVuLXNpemUtYW5hbHlzaXMvc2NyZWVuLXNpemUtYW5hbHlzaXMuc2VydmljZSc7XHJcbmltcG9ydCB7VG9hc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7SG9tZWRlY29yYXRvckFwcFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZS9ob21lZGVjb3JhdG9yLWFwcC5zZXJ2aWNlJztcclxuaW1wb3J0IHtQZXJtYW5lbnRTdG9yZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZS9wZXJtYW5lbnQtc3RvcmUuc2VydmljZSc7XHJcbmltcG9ydCB7VXRpbHNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2UvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7VGhyZWVkc2VsZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi90aHJlZWRzZWxlY3Rvci90aHJlZWRzZWxlY3Rvci9zZXJ2aWNlL3RocmVlZHNlbGVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0l0ZW1TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlM2Qvc2VydmljZS9pdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Zsb29ycGxhblNlcnZpY2V9IGZyb20gJy4uLy4uL3Jvb20tcGxhbm5lci9jb21wb25lbnRzL2Zsb29ycGxhbm5lci9zZXJ2aWNlL2Zsb29ycGxhbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtGbG9vclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUzZC9zZXJ2aWNlL2Zsb29yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FuaW1hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3RocmVlZHNlbGVjdG9yL3RocmVlZHNlbGVjdG9yL3NlcnZpY2UvYW5pbWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RldmVsb3BtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZGV2ZWxvcG1lbnQvc2VydmljZS9kZXZlbG9wbWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtMYW5kaW5nU2NyZWVuTW9kYWxDb21wb25lbnR9IGZyb20gJy4uL2xhbmRpbmctc2NyZWVuLW1vZGFsL2xhbmRpbmctc2NyZWVuLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SXRlbX0gZnJvbSAnLi4vLi4vY29yZTNkL2l0ZW1zL2l0ZW0nO1xyXG5pbXBvcnQge1JlZ2lzdGVyRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcmVnaXN0ZXItZGlhbG9nL3JlZ2lzdGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge09wZW5EaWFsb2dDb21wb25lbnR9IGZyb20gJy4uL29wZW4tZGlhbG9nL29wZW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2F2ZURpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vc2F2ZS1kaWFsb2cvc2F2ZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtUb29sYmFySWNvbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9pbnRlcmZhY2UvdG9vbGJhci1pY29uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7RHJhd0RpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vZHJhdy1kaWFsb2cvZHJhdy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtQZGZDcm9wRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi9wZGYtY3JvcC1kaWFsb2cvcGRmLWNyb3AtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmV3UmVuZGVyU2VydmljZX0gZnJvbSAnLi4vLi4vcmVuZGVyL3NlcnZpY2UvbmV3LXJlbmRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtNb2RlbFByZXZpZXdDb21wb25lbnR9IGZyb20gJy4uLy4uL21vZGVsLXVwbG9hZGVyL21vZGVsLXByZXZpZXdlci9tb2RlbC1wcmV2aWV3LmNvbXBvbmVudCc7XHJcblxyXG5pbnRlcmZhY2UgQ2xvc2luZ09wdGlvbnMge1xyXG4gIGtlZXBUZW1wbGF0ZVJlZj86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnAtdG9vbGJhcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDwhLS1cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXllciBsYXllciYjNDU7JiM0NTt0b29sYmFyXCI+XHJcbiAgICAtLT5cclxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz1cInRvb2xiYXJcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInBob25lU2l6ZVNjcmVlblwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaG9tZWRlY29yYXRvci1tYXRlcmlhbC1pY29uc1wiPm1lbnU8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNtZW51PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgdG9vbGJhckljb25zVG9wXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtjZGtQb3J0YWxPdXRsZXRdPVwiaWNvbi5wb3J0YWxcIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG5cclxuICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2xvZ28uc3ZnXCIgY2xhc3M9XCJ0b29sYmFyLWxvZ29cIi8+XHJcbiAgICAgIDxpbWcgKm5nSWY9XCJzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2Vjb25kYXJ5TG9nb1wiIFtzcmNdPVwic2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlY29uZGFyeUxvZ29cIlxyXG4gICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1sb2dvIHNlY29uZGFyeS1sb2dvXCIvPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLm9wdGlvbnMuZGV2ZWxvcG1lbnRcIj5cclxuICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJ3aXAtY2FyZFwiPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIHt7ICdXT1JLX0lOX1BST0dSRVNTJyB8IGxvY2FsaXplIH19XHJcbiAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9tYXQtY2FyZD5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibG9hZFJvb20oKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaG9tZWRlY29yYXRvci1tYXRlcmlhbC1pY29uc1wiPndlZWtlbmQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJsb2FkUmVzaXphYmxlUm9vbSgpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCI+Y2FtZXJhLWNvbnRyb2w8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5vcHRpb25zLnNob3dSb29tRG93bmxvYWRCdXR0b25cIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRSb29tKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIiBtYXRUb29sdGlwPVwie3snRE9XTkxPQURfUk9PTV9BU19HTEInIHwgbG9jYWxpemV9fVwiPmNsb3VkX2Rvd25sb2FkPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZC10b29sYmFyLXNwYWNlclwiPjwvZGl2PlxyXG5cclxuPCEtLSAgICAgIDxuZy1jb250YWluZXI+LS0+XHJcbjwhLS0gICAgICAgIDxycC1wZGYtZXhwb3J0PjwvcnAtcGRmLWV4cG9ydD4tLT5cclxuPCEtLSAgICAgIDwvbmctY29udGFpbmVyPi0tPlxyXG5cclxuICAgICAgPG1hdC1uYXYtbGlzdCBjbGFzcz1cInRvb2xiYXJfX25hdlwiIHJvbGU9XCJsaXN0XCI+XHJcbiAgICAgICAgPGRpdiBtYXRUb29sdGlwPVwie3snTkVXX1JPT00nIHwgbG9jYWxpemV9fVwiPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKGNsaWNrKT1cIm5ld1Jvb20oKVwiPnt7ICdORVcnIHwgbG9jYWxpemUgfX08L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBtYXRUb29sdGlwPVwie3snT1BFTl9FWElTVElOR19QTEFOJyB8IGxvY2FsaXplfX1cIj5cclxuICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJvcGVuT3BlbkRpYWxvZygpXCI+e3sgJ09QRU4nIHwgbG9jYWxpemUgfX08L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JhZ2VTZXJ2aWNlLmVycm9yV2hlblNhdmluZ1wiIGNsYXNzPVwic3RvcmFnZS1lcnJvclwiXHJcbiAgICAgICAgICAgICBbY2xhc3MuYmxpbmtlcl09XCJzaG93QmxpbmtFcnJvclwiIG1hdFRvb2x0aXA9XCJ7eydFUlJPUl9TQVZJTkdfTE9DQUxTVE9SQUdFJyB8IGxvY2FsaXplfX1cIlxyXG4gICAgICAgICAgICAgKG1vdXNlbW92ZSk9XCJzaG93QmxpbmtFcnJvciA9IGZhbHNlXCJcclxuICAgICAgICA+PHNwYW4+ITwvc3Bhbj48L2Rpdj5cclxuICAgICAgICA8ZGl2IFtjbGFzcy5ibGlua2VyXT1cIiFzaG93U2F2ZU5vdGlmaWNhdGlvblwiIG1hdFRvb2x0aXA9XCJ7eydTQVZFX1RIRV9QTEFOJyB8IGxvY2FsaXplfX1cIj5cclxuICAgICAgICAgIDxtYXQtbGlzdC1pdGVtXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eydTQVZFX1RPT0xUSVAnIHwgbG9jYWxpemV9fVwiXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwidG9vbHRpcERpc2FibGVkXCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwidG9vbHRpcC1yZWRcIlxyXG4gICAgICAgICAgICByb2xlPVwibGlzdGl0ZW1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblNhdmVEaWFsb2coKSAmJiBzdG9wVGltZXIoKVwiXHJcbiAgICAgICAgICA+e3sgJ1NBVkUnIHwgbG9jYWxpemUgfX1cclxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlXCJcclxuICAgICAgICAgIG1hdEJhZGdlPVwiIVwiXHJcbiAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYmVsb3cgYmVmb3JlXCJcclxuICAgICAgICAgIG1hdEJhZGdlT3ZlcmxhcD1cInRydWVcIlxyXG4gICAgICAgICAgbWF0QmFkZ2VTaXplPVwibWVkaXVtXCJcclxuICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJiYWRnZURpc2FibGVkXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LW5hdi1saXN0PlxyXG4gICAgICA8ZGl2IG1hdFRvb2x0aXA9XCJ7eydTQVZFX0lNQUdFJyB8IGxvY2FsaXplfX1cIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25UYWtlU2NyZWVuc2hvdENsaWNrKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj5waG90b19jYW1lcmE8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBtYXRUb29sdGlwPVwie3snVU5ETycgfCBsb2NhbGl6ZX19XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm1lc3NhZ2VTZXJ2aWNlLmVtaXQobWVzc2FnZVR5cGUuVW5kbylcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByZXNldHNTZXJ2aWNlLmlzTG9hZGluZyB8fCAhYXBwU3RhdGUuY2FuVW5kbygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJob21lZGVjb3JhdG9yLW1hdGVyaWFsLWljb25zXCI+dW5kbzwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IG1hdFRvb2x0aXA9XCJ7eydSRURPJyB8IGxvY2FsaXplfX1cIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibWVzc2FnZVNlcnZpY2UuZW1pdChtZXNzYWdlVHlwZS5SZWRvKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJlc2V0c1NlcnZpY2UuaXNMb2FkaW5nIHx8ICFhcHBTdGF0ZS5jYW5SZWRvKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj5yZWRvPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiIWZ1bGxzY3JlZW5cIiAoY2xpY2spPVwicmVxdWVzdEZ1bGxzY3JlZW4oKVwiIG1hdFRvb2x0aXA9XCJ7eydSRVFVRVNUX0ZVTExTQ1JFRU4nIHwgbG9jYWxpemV9fVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiZnVsbHNjcmVlblwiIChjbGljayk9XCJleGl0RnVsbHNjcmVlbigpXCIgbWF0VG9vbHRpcD1cInt7J0VYSVRfRlVMTFNDUkVFTicgfCBsb2NhbGl6ZX19XCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaG9tZWRlY29yYXRvci1tYXRlcmlhbC1pY29uc1wiPmZ1bGxzY3JlZW5fZXhpdDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtdG9vbGJhcj5cclxuXHJcbiAgICA8bGltaXRlZC1tb2RlLW1lc3NhZ2VcclxuICAgICAgKm5nSWY9XCJwaG9uZVNpemVTY3JlZW4gJiYgc2hvd0xpbWl0ZWRNb2RlTWVzc2FnZVwiXHJcbiAgICAgIChjbG9zZUNsaWNrZWQpPVwib25DbG9zZUxpbWl0ZWRNb2RlTWVzc2FnZUNsaWNrKClcIj5cclxuICAgIDwvbGltaXRlZC1tb2RlLW1lc3NhZ2U+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXdyYXBwZXJcIlxyXG4gICAgICAgICBbY2xhc3Muc3VjY2Vzc109XCJ0b2FzdC50eXBlID09ICB0b2FzdFR5cGUuU3VjY2Vzc1wiXHJcbiAgICAgICAgIFtjbGFzcy53YXJuaW5nXT1cInRvYXN0LnR5cGUgPT0gIHRvYXN0VHlwZS5XYXJuaW5nXCJcclxuICAgICAgICAgW2NsYXNzLmVycm9yXT1cInRvYXN0LnR5cGUgPT0gIHRvYXN0VHlwZS5FcnJvclwiXHJcbiAgICAgICAgICpuZ0lmPVwidG9hc3RcIlxyXG4gICAgICAgICBAc2hvd1RvYXN0XHJcbiAgICAgICAgIFt0ZXh0Q29udGVudF09XCJ0b2FzdC5tZXNzYWdlXCI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bWF0LXRvb2xiYXItcm93IGNsYXNzPVwidG9vbGJhci1yb3dcIj5cclxuICAgICAgPG1hdC10b29sYmFyIGNsYXNzPVwidG9vbGJhciB0b29sYmFyLS1zZWNvbmRhcnlcIiAqbmdJZj1cIiFwaG9uZVNpemVTY3JlZW5cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIHRvb2xiYXJJY29uc1RvcFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImljb24ucG9ydGFsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoZC10b29sYmFyLXNwYWNlclwiPjwvc3Bhbj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIHRvb2xiYXJJY29uc0JvdHRvbVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImljb24ucG9ydGFsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbWF0LXRvb2xiYXI+XHJcblxyXG4gICAgICA8bWF0LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJkcmF3ZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPG1hdC1kcmF3ZXIgY2xhc3M9XCJkcmF3ZXJcIiBtb2RlPVwib3ZlclwiIHBvc2l0aW9uPVwibGVmdFwiICNsZWZ0U2lkZWJhcj5cclxuICAgICAgICAgIDxtYXQtZHJhd2VyLWNvbnRlbnQgY2xhc3M9XCJkcmF3ZXJfX2JvZHlcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRyYXdlcl9fYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGlja0Nsb3NlTGVmdFNpZGViYXIoKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImhvbWVkZWNvcmF0b3ItbWF0ZXJpYWwtaWNvbnNcIj5jbGVhcjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtjZGtQb3J0YWxPdXRsZXRdPVwibGVmdFBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9tYXQtZHJhd2VyPlxyXG4gICAgICA8L21hdC1kcmF3ZXItY29udGFpbmVyPlxyXG4gICAgPC9tYXQtdG9vbGJhci1yb3c+XHJcbiAgICA8IS0tXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgIC0tPlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Nob3dUb2FzdCcsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7J3RyYW5zZm9ybS1vcmlnaW4nOiAndG9wIGNlbnRlcicsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtNTAlLCAtMTAwJSknfSkpLFxyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHsndHJhbnNmb3JtLW9yaWdpbic6ICd0b3AgY2VudGVyJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC01MCUsIDApJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA8PT4gKicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3Nob3dMZWZ0VG9vbGJhcicsIFtcclxuICAgICAgc3RhdGUoJ3Nob3cnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknfSkpLFxyXG4gICAgICBzdGF0ZSgnaGlkZScsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKSd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3Nob3cgPD0+IGhpZGUnLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKVxyXG4gICAgXSlcclxuICBdLyosXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gqL1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHRvYXN0VHlwZTogdHlwZW9mIFRvYXN0VHlwZSA9IFRvYXN0VHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZVR5cGU6IHR5cGVvZiBNZXNzYWdlVHlwZSA9IE1lc3NhZ2VUeXBlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb25FbnVtID0gSWNvbkVudW07XHJcblxyXG4gIGxlZnRQb3J0YWw6IFRlbXBsYXRlUG9ydGFsPGFueT47XHJcbiAgbGFzdFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHJpZ2h0UG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xyXG4gIHRvb2xiYXJJY29uc1RvcDogVG9vbGJhckljb25bXSA9IFtdO1xyXG4gIHRvb2xiYXJJY29uc0JvdHRvbTogVG9vbGJhckljb25bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2hvd0JsaW5rRXJyb3I6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U2F2ZU5vdGlmaWNhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHRvYXN0OiBUb2FzdDtcclxuICBwdWJsaWMgcGhvbmVTaXplU2NyZWVuOiBib29sZWFuO1xyXG4gIHB1YmxpYyBzaG93TGltaXRlZE1vZGVNZXNzYWdlID0gdHJ1ZTtcclxuICBwdWJsaWMgdGltZUxlZnQ6IG51bWJlciA9IDkwMDtcclxuICBwdWJsaWMgaW50ZXJ2YWw7XHJcbiAgcHVibGljIHRvb2x0aXBEaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGJhZGdlRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdsZWZ0U2lkZWJhcicsIHtzdGF0aWM6IHRydWV9KSBsZWZ0U2lkZWJhcjogTWF0RHJhd2VyO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5ID09PSAnUycpIHtcclxuICAgICAgdGhpcy5fc2hvd1NhdmVEaWFsb2coZmFsc2UsIGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiBkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCB8fCAvLyBhbHRlcm5hdGl2ZSBzdGFuZGFyZCBtZXRob2RcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBkb2N1bWVudC5tb3pGdWxsU2NyZWVuRWxlbWVudCB8fCBkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudCB8fCBkb2N1bWVudC5tc0Z1bGxzY3JlZW5FbGVtZW50OyAvLyBjdXJyZW50IHdvcmtpbmcgbWV0aG9kc1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBwcmVzZXRzU2VydmljZTogUHJlc2V0c1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VCdXNTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNldHRpbmdzU2VydmljZTogSG9tZWRlY29yYXRvclNldHRpbmdzU2VydmljZSxcclxuICAgIHB1YmxpYyBzdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NjcmVlblNpemVTZXJ2aWNlOiBTY3JlZW5TaXplQW5hbHlzaXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FwcFNlcnZpY2U6IEhvbWVkZWNvcmF0b3JBcHBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGVybWFuZW50U3RvcmVTZXJ2aWNlOiBQZXJtYW5lbnRTdG9yZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF91dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RocmVlZFNlcnZpY2U6IFRocmVlZHNlbGVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX2Zsb29yUGxhblNlcnZpY2U6IEZsb29ycGxhblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mbG9vclNlcnZpY2U6IEZsb29yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FuaW1hdGlvblNlcnZpY2U6IEFuaW1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kZXZlbG9wbWVudFNlcnZpY2U6IERldmVsb3BtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX25ld1JlbmRlclNlcnZpY2U6IE5ld1JlbmRlclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuU2V0TGVmdFNpZGViYXIsICh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PikgPT4gdGhpcy5fc2V0TGVmdFNpZGViYXIodGVtcGxhdGVSZWYpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuSGlkZUxlZnRTaWRlYmFyLCAoKSA9PiB0aGlzLl9jbG9zZUxlZnRTaWRlYmFyKHtrZWVwVGVtcGxhdGVSZWY6IHRydWV9KSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlJlZ2lzdGVyVG9vbGJhckljb24sIChpY29uOiBUb29sYmFySWNvbikgPT4gdGhpcy5fcmVnaXN0ZXJUb29sYmFySWNvbihpY29uKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlZpZXdNb2RlQ2hhbmdlZCwgKCkgPT4gdGhpcy5fY2xvc2VMZWZ0U2lkZWJhcigpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuTmV3Um9vbSwgKCkgPT4gdGhpcy5uZXdSb29tKCkpLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1YnNjcmliZShNZXNzYWdlVHlwZS5TaG93T3BlbkRpYWxvZywgKCkgPT4gdGhpcy5vcGVuT3BlbkRpYWxvZygpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuRmluaXNoZWRJT25lRnVybml0dXJlQnVpbGQsICgpID0+IHRoaXMuX2hpZGVUb2FzdCgpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuVW5kZWZpbmVkRXJyb3JPY2N1cmVkLCAoKSA9PiB0aGlzLl9oaWRlVG9hc3QoKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlJlbmRlclNlcnZpY2VUcnlUb0Nvbm5lY3QsICgpID0+IHRoaXMuX2hpZGVUb2FzdCgpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuUmVuZGVyU2VydmljZUNvbm5lY3RlZCwgKCkgPT4gdGhpcy5faGlkZVRvYXN0KCkpLFxyXG4gICAgICB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvd1RvYXN0U3ViLnN1YnNjcmliZSgodG9hc3Q6IFRvYXN0KSA9PiB0aGlzLl9zaG93VG9hc3QodG9hc3QpKSxcclxuICAgICAgdGhpcy5fc2NyZWVuU2l6ZVNlcnZpY2Uuc2NyZWVuU2l6ZUNoYW5nZWQuc3Vic2NyaWJlKGluZm8gPT4gdGhpcy5waG9uZVNpemVTY3JlZW4gPSBpbmZvLmlzUGhvbmVTaXplKSxcclxuICAgICAgLy8gdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuU3RhcnRXaXRoRGlhZ3JhbSwgKCkgPT4gdGhpcy5vcGVuVXBsb2FkRGlhZ3JhbSgpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuU3RhcnREcmF3aW5nRGlhZ3JhbSwgKGZpbGUpID0+IHRoaXMub3BlbkRyYXdEaWFncmFtKGZpbGUpKSxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuU3RhcnRDcm9wcGluZ1BERiwgKGZpbGUpID0+IHRoaXMub3BlbkNyb3BwaW5nRGlhZ3JhbShmaWxlKSksXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlKE1lc3NhZ2VUeXBlLlVzZXJNb2RlbFVwbG9hZGVkLCAoZmlsZSkgPT4gdGhpcy5vcGVuTW9kZWxQcmV2aWV3KGZpbGUpKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMubGFzdFRlbXBsYXRlUmVmID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMudGltZUxlZnQgPiAwKSB7XHJcbiAgICAgICAgdGhpcy50aW1lTGVmdC0tO1xyXG4gICAgICAgIHRoaXMuc2F2ZU5vdGlmaWNhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja0Nsb3NlTGVmdFNpZGViYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jbG9zZUxlZnRTaWRlYmFyKCk7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmVtaXQoTWVzc2FnZVR5cGUuTGVmdFNpZGViYXJDbG9zZUNsaWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5ld1Jvb20oKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jbG9zZUxlZnRTaWRlYmFyKCk7XHJcbiAgICB0aGlzLl9hcHBTZXJ2aWNlLnVzZXJSZWdpc3RlcmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihMYW5kaW5nU2NyZWVuTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc4NjBweCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFuaW1hdGVNb2RlbChlbGVtZW50OiBJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hbmltYXRpb25TZXJ2aWNlLnBsYXlBbmltYXRpb24oZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgb3BlblNhdmVEaWFsb2coKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuX3Blcm1hbmVudFN0b3JlU2VydmljZS5jb2RlKSB7XHJcbiAgICAgIHRoaXMuX3Nob3dTYXZlRGlhbG9nKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fYXBwU2VydmljZS51c2VyUmVnaXN0ZXJlZCAmJiB0aGlzLl9wZXJtYW5lbnRTdG9yZVNlcnZpY2UuY29kZSAmJiBlbnZpcm9ubWVudC5wcm9kdWN0aW9uICYmIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLm9wdGlvbnMuc2hvd0Zvcm1EaWFsb2cpIHtcclxuICAgICAgY29uc3QgcmVnRGlhbG9nID0gdGhpcy5fZGlhbG9nLm9wZW4oUmVnaXN0ZXJEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICB3aWR0aDogJzQwMHB4JyxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgICAgfSk7XHJcbiAgICAgIHJlZ0RpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyAocmVnaXN0ZXJlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZWdpc3RlcmVkKSB7XHJcbiAgICAgICAgICB0aGlzLl9hcHBTZXJ2aWNlLnVzZXJSZWdpc3RlcmVkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuX3Nob3dTYXZlRGlhbG9nKGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX3Blcm1hbmVudFN0b3JlU2VydmljZS5jb2RlLyogJiYgIWVudmlyb25tZW50LnByb2R1Y3Rpb24qLykge1xyXG4gICAgICB0aGlzLl9zaG93U2F2ZURpYWxvZygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5PcGVuRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oT3BlbkRpYWxvZ0NvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9hZFJvb20oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBvYmogPSBhd2FpdCB0aGlzLl91dGlsc1NlcnZpY2UubG9hZEdsYlJvb20oJ2h0dHBzOi8vY2RuMS5jb2xpam4taXQubmwvY29udGVudDQzL2Fzc2V0cy9TdGF0aW9uN19LYXR0ZW5idXJnXzIxMDQxNC5nbGInKTtcclxuICAgIC8vIGNvbnN0IG9iaiA9IGF3YWl0IHRoaXMuX3V0aWxzU2VydmljZS5sb2FkR2xiUm9vbSgnaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDMvYXNzZXRzL1N0YXRpb243X0thdHRlbmJ1cmdfbWF4XzIxMDYxNl8xX0dMVEYvU3RhdGlvbjdfS2F0dGVuYnVyZ19tYXhfMjEwNjE2XzEuZ2x0ZicpO1xyXG4gICAgb2JqLmNoaWxkcmVuLmZvckVhY2goYyA9PiBjLnZpc2libGUgPSB0cnVlKTtcclxuICAgIC8vIGNvbnN0IGJvdW5kaW5nQm94ID0gbmV3IEJveDMoKS5zZXRGcm9tT2JqZWN0KG9iaik7XHJcbiAgICAvLyAvLyBjcmVhdGUgZmxvb3JcclxuICAgIC8vIGNvbnN0IGhhbGZXaWR0aDogbnVtYmVyID0gKGJvdW5kaW5nQm94Lm1heC54IC0gYm91bmRpbmdCb3gubWluLngpIC8gMjtcclxuICAgIC8vIGNvbnN0IGhhbGZEZXB0aDogbnVtYmVyID0gKGJvdW5kaW5nQm94Lm1heC56IC0gYm91bmRpbmdCb3gubWluLnopIC8gMjtcclxuICAgIC8vIGNvbnN0IGNvcm5lcnMgPSBbXHJcbiAgICAvLyAgIHRoaXMuX2Zsb29yUGxhblNlcnZpY2UubmV3Q29ybmVyKC1oYWxmV2lkdGgsIGhhbGZEZXB0aCksXHJcbiAgICAvLyAgIHRoaXMuX2Zsb29yUGxhblNlcnZpY2UubmV3Q29ybmVyKC1oYWxmV2lkdGgsIC1oYWxmRGVwdGgpLFxyXG4gICAgLy8gICB0aGlzLl9mbG9vclBsYW5TZXJ2aWNlLm5ld0Nvcm5lcihoYWxmV2lkdGgsIC1oYWxmRGVwdGgpLFxyXG4gICAgLy8gICB0aGlzLl9mbG9vclBsYW5TZXJ2aWNlLm5ld0Nvcm5lcihoYWxmV2lkdGgsIGhhbGZEZXB0aCksXHJcbiAgICAvLyBdO1xyXG4gICAgLy8gdGhpcy5fZmxvb3JTZXJ2aWNlLmdlbmVyYXRlRmxvb3JQbGFuZSgndHJhbnNwYXJlbnQnLCB1bmRlZmluZWQsIGNvcm5lcnMpO1xyXG4gICAgdGhpcy5faXRlbVNlcnZpY2UuYWRkSXRlbShvYmopO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvYWRSZXNpemFibGVSb29tKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgb2JqID0gYXdhaXQgdGhpcy5fZGV2ZWxvcG1lbnRTZXJ2aWNlLmNyZWF0ZVJlc2l6YWJsZVJvb20oKTtcclxuICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmFkZEl0ZW0ob2JqKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb3dubG9hZFJvb20oKTogdm9pZCB7XHJcbiAgICB0aGlzLl91dGlsc1NlcnZpY2Uuc2F2ZVJvb21Bc0dsYigpO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFwaVJvb21SZW5kZXIoKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmVtaXQoTWVzc2FnZVR5cGUuU2hvd0xvYWRpbmdJbmRpY2F0b3IsIHt0aXRsZTogJ1JlbmRlcmluZy4uLid9KTtcclxuICAvLyAgIHRoaXMuX3V0aWxzU2VydmljZS5wcmVwUm9vbUZvclJlbmRlcigpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIG9uVW5kb0NsaWNrKCkge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5lbWl0KE1lc3NhZ2VUeXBlLlVuZG8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUmVkb0NsaWNrKCkge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5lbWl0KE1lc3NhZ2VUeXBlLlJlZG8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xvc2VMaW1pdGVkTW9kZU1lc3NhZ2VDbGljaygpIHtcclxuICAgIHRoaXMuc2hvd0xpbWl0ZWRNb2RlTWVzc2FnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVGFrZVNjcmVlbnNob3RDbGljaygpIHtcclxuICAgIGlmICghdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Mub3B0aW9ucy5zaG93Rm9ybURpYWxvZykge1xyXG4gICAgICBjb25zdCByZWdEaWFsb2cgPSB0aGlzLl9kaWFsb2cub3BlbihSZWdpc3RlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIG1pbldpZHRoOiAnNDAwcHgnLFxyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgICB9KTtcclxuICAgICAgcmVnRGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIChyZWdpc3RlcmVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlZ2lzdGVyZWQpIHtcclxuICAgICAgICAgIHRoaXMuX2FwcFNlcnZpY2UudXNlclJlZ2lzdGVyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lbWl0KE1lc3NhZ2VUeXBlLlRha2VTY3JlZW5zaG90KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lbWl0KE1lc3NhZ2VUeXBlLlRha2VTY3JlZW5zaG90KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXF1ZXN0RnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mdWxsc2NyZWVuKSB7XHJcbiAgICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm1velJlcXVlc3RGdWxsU2NyZWVuKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgfSBlbHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKEVsZW1lbnQuQUxMT1dfS0VZQk9BUkRfSU5QVVQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhpdEZ1bGxzY3JlZW4oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mdWxsc2NyZWVuKSB7XHJcbiAgICAgIGlmIChkb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB9IGVsc2UgaWYgKGRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgfSBlbHNlIGlmIChkb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKTtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVOb3RpZmljYXRpb24oKSB7XHJcbiAgICBpZiAodGhpcy50aW1lTGVmdCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnNob3dTYXZlTm90aWZpY2F0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9vbHRpcERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYmFkZ2VEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0b3BUaW1lcigpIHtcclxuICAgIHRoaXMudGltZUxlZnQgPSA5MDA7XHJcbiAgICB0aGlzLnNob3dTYXZlTm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMudG9vbHRpcERpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYmFkZ2VEaXNhYmxlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkRyYXdEaWFncmFtKGZpbGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlhbG9nLmNsb3NlQWxsKCk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihEcmF3RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtmaWxlOiBmaWxlfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkNyb3BwaW5nRGlhZ3JhbShmaWxlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RpYWxvZy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUGRmQ3JvcERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7ZmlsZTogZmlsZX1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5Nb2RlbFByZXZpZXcoZmlsZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihNb2RlbFByZXZpZXdDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge2ZpbGU6IGZpbGV9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0ZXN0UmVuZGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmV3UmVuZGVyU2VydmljZS5mb3JjZVJlbmRlckltYWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG93U2F2ZURpYWxvZyhsb2NhbFNhdmU6IGJvb2xlYW4gPSBmYWxzZSwgc2F2ZU9uT3BlbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihTYXZlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICBkYXRhOiB7b3BlbkRvd25sb2FkRGlhbG9nOiBsb2NhbFNhdmUsIHNhdmVPbk9wZW5EaWFsb2c6IHNhdmVPbk9wZW5EaWFsb2d9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZGVUb2FzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9hc3QgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG93VG9hc3QodG9hc3Q6IFRvYXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0ID0gdG9hc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRMZWZ0U2lkZWJhcih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGFzdFRlbXBsYXRlUmVmID09PSB0ZW1wbGF0ZVJlZiAmJiB0aGlzLmxlZnRQb3J0YWwgJiYgdGhpcy5sZWZ0UG9ydGFsLmlzQXR0YWNoZWQpIHtcclxuICAgICAgdGhpcy5sZWZ0UG9ydGFsLmRldGFjaCgpO1xyXG4gICAgICB0aGlzLmxlZnRTaWRlYmFyLmNsb3NlKCk7XHJcbiAgICAgIHRoaXMubGFzdFRlbXBsYXRlUmVmID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVmdFBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVJlZiwgdW5kZWZpbmVkLCB7fSk7XHJcbiAgICAgIHRoaXMubGVmdFNpZGViYXIub3BlbigpO1xyXG4gICAgICB0aGlzLmxhc3RUZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVnaXN0ZXJUb29sYmFySWNvbihpY29uOiBUb29sYmFySWNvbik6IHZvaWQge1xyXG4gICAgaWNvbi5wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoaWNvbi50ZW1wbGF0ZSwgdW5kZWZpbmVkLCB7fSk7XHJcbiAgICBpY29uLnByaW9yaXR5ID0gaWNvbi5wcmlvcml0eSB8fCAwO1xyXG4gICAgbGV0IHRvb2xiYXJJY29ucztcclxuICAgIGlmIChpY29uLnBvc2l0aW9uID09PSAnYm90dG9tJykge1xyXG4gICAgICB0b29sYmFySWNvbnMgPSB0aGlzLnRvb2xiYXJJY29uc0JvdHRvbTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRvb2xiYXJJY29ucyA9IHRoaXMudG9vbGJhckljb25zVG9wO1xyXG4gICAgfVxyXG4gICAgdG9vbGJhckljb25zLnB1c2goaWNvbik7XHJcbiAgICB0b29sYmFySWNvbnMuc29ydCgoYSwgYikgPT4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xvc2VMZWZ0U2lkZWJhcihvcHRpb25zOiBDbG9zaW5nT3B0aW9ucyA9IHt9KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sZWZ0UG9ydGFsICYmIHRoaXMubGVmdFBvcnRhbC5pc0F0dGFjaGVkKSB7XHJcbiAgICAgIHRoaXMubGVmdFBvcnRhbC5kZXRhY2goKTtcclxuICAgICAgdGhpcy5sZWZ0UG9ydGFsID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICghb3B0aW9ucy5rZWVwVGVtcGxhdGVSZWYpIHtcclxuICAgICAgdGhpcy5sYXN0VGVtcGxhdGVSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubGVmdFNpZGViYXIpIHtcclxuICAgICAgdGhpcy5sZWZ0U2lkZWJhci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -37,6 +37,7 @@ import { RegisterDialogComponent } from '../../shared/register-dialog/register-d
|
|
|
37
37
|
import { DrawDialogComponent } from './draw-dialog/draw-dialog.component';
|
|
38
38
|
import { PdfViewerModule } from 'ng2-pdf-viewer';
|
|
39
39
|
import { PdfCropDialogComponent } from './pdf-crop-dialog/pdf-crop-dialog.component';
|
|
40
|
+
import { ExportPdfModule } from '../../shared/pdf-export/pdf-export.module';
|
|
40
41
|
import * as i0 from "@angular/core";
|
|
41
42
|
export class ToolbarModule {
|
|
42
43
|
}
|
|
@@ -79,7 +80,8 @@ ToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
79
80
|
IconModule,
|
|
80
81
|
MatBadgeModule,
|
|
81
82
|
ThreedInPhotoModule,
|
|
82
|
-
PdfViewerModule
|
|
83
|
+
PdfViewerModule,
|
|
84
|
+
ExportPdfModule], exports: [ToolbarComponent] });
|
|
83
85
|
ToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarModule, imports: [[
|
|
84
86
|
CoreModule,
|
|
85
87
|
CommonModule,
|
|
@@ -108,7 +110,8 @@ ToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
108
110
|
IconModule,
|
|
109
111
|
MatBadgeModule,
|
|
110
112
|
ThreedInPhotoModule,
|
|
111
|
-
PdfViewerModule
|
|
113
|
+
PdfViewerModule,
|
|
114
|
+
ExportPdfModule
|
|
112
115
|
]] });
|
|
113
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarModule, decorators: [{
|
|
114
117
|
type: NgModule,
|
|
@@ -141,7 +144,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
141
144
|
IconModule,
|
|
142
145
|
MatBadgeModule,
|
|
143
146
|
ThreedInPhotoModule,
|
|
144
|
-
PdfViewerModule
|
|
147
|
+
PdfViewerModule,
|
|
148
|
+
ExportPdfModule
|
|
145
149
|
],
|
|
146
150
|
entryComponents: [
|
|
147
151
|
LoadFromCloudDialogComponent,
|
|
@@ -174,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
174
178
|
]
|
|
175
179
|
}]
|
|
176
180
|
}] });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2FwcC9wbHVnaW5zL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFB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cG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge01hdFNpZGVuYXZNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQge01hdERpYWxvZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQge01hdEJ1dHRvblRvZ2dsZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHtNYXRHcmlkTGlzdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0JztcclxuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQge01hdFNuYWNrQmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQge01hdFRvb2xiYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQge1BvcnRhbE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcblxyXG5pbXBvcnQge1Rvb2xiYXJDb21wb25lbnR9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2F2ZURpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9zYXZlLWRpYWxvZy9zYXZlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge09wZW5EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vb3Blbi1kaWFsb2cvb3Blbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtTYXZlZERpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9zYXZlZC1kaWFsb2cvc2F2ZWQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGFuZGluZ1NjcmVlbk1vZGFsQ29tcG9uZW50fSBmcm9tICcuL2xhbmRpbmctc2NyZWVuLW1vZGFsL2xhbmRpbmctc2NyZWVuLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TG9hZEZyb21DbG91ZERpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9sb2FkLWZyb20tY2xvdWQtZGlhbG9nL2xvYWQtZnJvbS1jbG91ZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtGbGV4TGF5b3V0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7TGltaXRlZE1vZGVNZXNzYWdlQ29tcG9uZW50fSBmcm9tICcuL3Rvb2xiYXIvbGltaXRlZC1tb2RlLW1lc3NhZ2UtY29tcG9uZW50L2xpbWl0ZWQtbW9kZS1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VG9vbGJhckljb25Nb2R1bGV9IGZyb20gJy4uLy4uL3NoYXJlZC90b29sYmFyLWljb24vdG9vbGJhci1pY29uLm1vZHVsZSc7XHJcbmltcG9ydCB7SWNvbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHMnO1xyXG5pbXBvcnQge01hdEJhZGdlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7RWRpdFByZXNldERpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9lZGl0LXByZXNldC1kaWFsb2cvZWRpdC1wcmVzZXQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7RXJyb3JEaWFsb2dNb2R1bGV9IGZyb20gJy4uLy4uL3NoYXJlZC9lcnJvci1kaWFsb2cvZXJyb3ItZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7TW9kZWxEaWFsb2dNb2R1bGV9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbC1kaWFsb2cvbW9kZWwtZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7VGhyZWVkSW5QaG90b01vZHVsZX0gZnJvbSAnLi4vdGhyZWVkLWluLXBob3RvL3RocmVlZC1pbi1waG90by5tb2R1bGUnO1xyXG5pbXBvcnQge0Rvd25sb2FkRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL2Rvd25sb2FkLWRpYWxvZy9kb3dubG9hZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZWdpc3RlckRpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2hhcmVkL3JlZ2lzdGVyLWRpYWxvZy9yZWdpc3Rlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtEcmF3RGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL2RyYXctZGlhbG9nL2RyYXctZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGRmVmlld2VyTW9kdWxlfSBmcm9tICduZzItcGRmLXZpZXdlcic7XHJcbmltcG9ydCB7UGRmQ3JvcERpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9wZGYtY3JvcC1kaWFsb2cvcGRmLWNyb3AtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBFcnJvckRpYWxvZ01vZHVsZSxcclxuICAgIE1vZGVsRGlhbG9nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdEdyaWRMaXN0TW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBQb3J0YWxNb2R1bGUsXHJcbiAgICBUb29sYmFySWNvbk1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBNYXRCYWRnZU1vZHVsZSxcclxuICAgIFRocmVlZEluUGhvdG9Nb2R1bGUsXHJcbiAgICBQZGZWaWV3ZXJNb2R1bGVcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgTG9hZEZyb21DbG91ZERpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNhdmVEaWFsb2dDb21wb25lbnQsXHJcbiAgICBTYXZlZERpYWxvZ0NvbXBvbmVudCxcclxuICAgIE9wZW5EaWFsb2dDb21wb25lbnQsXHJcbiAgICBEcmF3RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUGRmQ3JvcERpYWxvZ0NvbXBvbmVudCxcclxuICAgIERvd25sb2FkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVG9vbGJhckNvbXBvbmVudCxcclxuICAgIExhbmRpbmdTY3JlZW5Nb2RhbENvbXBvbmVudCxcclxuICAgIFJlZ2lzdGVyRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUb29sYmFyQ29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNhdmVEaWFsb2dDb21wb25lbnQsXHJcbiAgICBPcGVuRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRHJhd0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIFBkZkNyb3BEaWFsb2dDb21wb25lbnQsXHJcbiAgICBUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgU2F2ZWREaWFsb2dDb21wb25lbnQsXHJcbiAgICBEb3dubG9hZERpYWxvZ0NvbXBvbmVudCxcclxuICAgIExvYWRGcm9tQ2xvdWREaWFsb2dDb21wb25lbnQsXHJcbiAgICBMYW5kaW5nU2NyZWVuTW9kYWxDb21wb25lbnQsXHJcbiAgICBMaW1pdGVkTW9kZU1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBSZWdpc3RlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRQcmVzZXREaWFsb2dDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sYmFyTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2FwcC9wbHVnaW5zL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFB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QzNCLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWF0U2lkZW5hdk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7TWF0QnV0dG9uVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQge01hdEdyaWRMaXN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ncmlkLWxpc3QnO1xyXG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7TWF0TGlzdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7TWF0U25hY2tCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7TWF0VG9vbGJhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XHJcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7UG9ydGFsTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbmltcG9ydCB7VG9vbGJhckNvbXBvbmVudH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTYXZlRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL3NhdmUtZGlhbG9nL3NhdmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T3BlbkRpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9vcGVuLWRpYWxvZy9vcGVuLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NhdmVkRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL3NhdmVkLWRpYWxvZy9zYXZlZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtMYW5kaW5nU2NyZWVuTW9kYWxDb21wb25lbnR9IGZyb20gJy4vbGFuZGluZy1zY3JlZW4tbW9kYWwvbGFuZGluZy1zY3JlZW4tbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtMb2FkRnJvbUNsb3VkRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL2xvYWQtZnJvbS1jbG91ZC1kaWFsb2cvbG9hZC1mcm9tLWNsb3VkLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZsZXhMYXlvdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHtMaW1pdGVkTW9kZU1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4vdG9vbGJhci9saW1pdGVkLW1vZGUtbWVzc2FnZS1jb21wb25lbnQvbGltaXRlZC1tb2RlLW1lc3NhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUb29sYmFySWNvbk1vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3Rvb2xiYXItaWNvbi90b29sYmFyLWljb24ubW9kdWxlJztcclxuaW1wb3J0IHtJY29uTW9kdWxlLCBJbnB1dFRleHRNb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50cyc7XHJcbmltcG9ydCB7TWF0QmFkZ2VNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHtFZGl0UHJlc2V0RGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL2VkaXQtcHJlc2V0LWRpYWxvZy9lZGl0LXByZXNldC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tICcuLi8uLi9jb3JlL2NvcmUubW9kdWxlJztcclxuaW1wb3J0IHtFcnJvckRpYWxvZ01vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL2Vycm9yLWRpYWxvZy9lcnJvci1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtNb2RlbERpYWxvZ01vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVsLWRpYWxvZy9tb2RlbC1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtUaHJlZWRJblBob3RvTW9kdWxlfSBmcm9tICcuLi90aHJlZWQtaW4tcGhvdG8vdGhyZWVkLWluLXBob3RvLm1vZHVsZSc7XHJcbmltcG9ydCB7RG93bmxvYWREaWFsb2dDb21wb25lbnR9IGZyb20gJy4vZG93bmxvYWQtZGlhbG9nL2Rvd25sb2FkLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlZ2lzdGVyRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi8uLi9zaGFyZWQvcmVnaXN0ZXItZGlhbG9nL3JlZ2lzdGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0RyYXdEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vZHJhdy1kaWFsb2cvZHJhdy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtQZGZWaWV3ZXJNb2R1bGV9IGZyb20gJ25nMi1wZGYtdmlld2VyJztcclxuaW1wb3J0IHtQZGZDcm9wRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL3BkZi1jcm9wLWRpYWxvZy9wZGYtY3JvcC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtFeHBvcnRQZGZNb2R1bGV9IGZyb20gJy4uLy4uL3NoYXJlZC9wZGYtZXhwb3J0L3BkZi1leHBvcnQubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEVycm9yRGlhbG9nTW9kdWxlLFxyXG4gICAgTW9kZWxEaWFsb2dNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0R3JpZExpc3RNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIFBvcnRhbE1vZHVsZSxcclxuICAgIFRvb2xiYXJJY29uTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIE1hdEJhZGdlTW9kdWxlLFxyXG4gICAgVGhyZWVkSW5QaG90b01vZHVsZSxcclxuICAgIFBkZlZpZXdlck1vZHVsZSxcclxuICAgIEV4cG9ydFBkZk1vZHVsZVxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICBMb2FkRnJvbUNsb3VkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU2F2ZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNhdmVkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgT3BlbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIERyYXdEaWFsb2dDb21wb25lbnQsXHJcbiAgICBQZGZDcm9wRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRG93bmxvYWREaWFsb2dDb21wb25lbnQsXHJcbiAgICBUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgTGFuZGluZ1NjcmVlbk1vZGFsQ29tcG9uZW50LFxyXG4gICAgUmVnaXN0ZXJEaWFsb2dDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRvb2xiYXJDb21wb25lbnRcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2F2ZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIE9wZW5EaWFsb2dDb21wb25lbnQsXHJcbiAgICBEcmF3RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUGRmQ3JvcERpYWxvZ0NvbXBvbmVudCxcclxuICAgIFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBTYXZlZERpYWxvZ0NvbXBvbmVudCxcclxuICAgIERvd25sb2FkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgTG9hZEZyb21DbG91ZERpYWxvZ0NvbXBvbmVudCxcclxuICAgIExhbmRpbmdTY3JlZW5Nb2RhbENvbXBvbmVudCxcclxuICAgIExpbWl0ZWRNb2RlTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIFJlZ2lzdGVyRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRWRpdFByZXNldERpYWxvZ0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { jsPDF } from 'jspdf';
|
|
3
|
+
import autoTable from 'jspdf-autotable';
|
|
4
|
+
import { MessageType } from '../../core/enum/message-type.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../plugins/core3d/service/scene.service";
|
|
7
|
+
import * as i2 from "../../plugins/core3d/service/floor.service";
|
|
8
|
+
import * as i3 from "../../core/service/message-bus.service";
|
|
9
|
+
export class ExportPdfComponent {
|
|
10
|
+
constructor(_sceneService, _floorService, _messageBusService) {
|
|
11
|
+
this._sceneService = _sceneService;
|
|
12
|
+
this._floorService = _floorService;
|
|
13
|
+
this._messageBusService = _messageBusService;
|
|
14
|
+
this._subs = [];
|
|
15
|
+
this._diagramBackground = '';
|
|
16
|
+
this._subs.push(this._messageBusService.subscribe(MessageType.LoadScaledDiagram, (input) => this.setDiagramBackground(input)));
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this._subs.forEach(s => s.unsubscribe());
|
|
20
|
+
}
|
|
21
|
+
getFloor() {
|
|
22
|
+
const activeFloor = this._floorService.floorToConfigure.metadata;
|
|
23
|
+
const output = [];
|
|
24
|
+
if (activeFloor) {
|
|
25
|
+
const floorCountResult = activeFloor.floorCountResult;
|
|
26
|
+
output.push(['Planken links', floorCountResult.left.toString()]);
|
|
27
|
+
output.push(['Planken rechts', floorCountResult.right.toString()]);
|
|
28
|
+
output.push(['Hoek', floorCountResult.edge.toString()]);
|
|
29
|
+
output.push(['Totaal aantal planken', floorCountResult.total.toString()]);
|
|
30
|
+
const selectedSelections = activeFloor.selections;
|
|
31
|
+
for (const selectedSelection of selectedSelections) {
|
|
32
|
+
if (selectedSelection.commercialAnswer !== undefined) {
|
|
33
|
+
output.push([selectedSelection.commercialQuestion, selectedSelection.commercialAnswer]);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
console.log(output);
|
|
37
|
+
}
|
|
38
|
+
return output;
|
|
39
|
+
}
|
|
40
|
+
generatePdf() {
|
|
41
|
+
// get all data
|
|
42
|
+
const sceneImage = this._createSceneScreenshot();
|
|
43
|
+
const doc = new jsPDF();
|
|
44
|
+
const dataList = this.getFloor();
|
|
45
|
+
const dataListLength = dataList.length;
|
|
46
|
+
autoTable(doc, {
|
|
47
|
+
head: [['Header', 'Value']],
|
|
48
|
+
body: dataList,
|
|
49
|
+
bodyStyles: { minCellHeight: 10 }
|
|
50
|
+
});
|
|
51
|
+
doc.addPage();
|
|
52
|
+
doc.addImage(sceneImage, 'JPEG', 0, 0, 210, 117); // size is in mm not pixels!
|
|
53
|
+
if (this._diagramBackground !== '') {
|
|
54
|
+
doc.addPage();
|
|
55
|
+
const offsetYImageTwo = 30 + 125 + (dataListLength * 10);
|
|
56
|
+
doc.addImage(this._diagramBackground, 'JPEG', 0, 0, 210, 117); // size is in mm not pixels!
|
|
57
|
+
}
|
|
58
|
+
doc.save('sample.pdf');
|
|
59
|
+
}
|
|
60
|
+
setDiagramBackground(input) {
|
|
61
|
+
this._diagramBackground = input.background.src;
|
|
62
|
+
}
|
|
63
|
+
_createSceneScreenshot() {
|
|
64
|
+
return this._sceneService.createRenderWithOrthographicCamera();
|
|
65
|
+
// return this._sceneService.getSceneCanvasImage();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
ExportPdfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExportPdfComponent, deps: [{ token: i1.SceneService }, { token: i2.FloorService }, { token: i3.MessageBusService }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
ExportPdfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ExportPdfComponent, selector: "rp-pdf-export", ngImport: i0, template: `
|
|
70
|
+
<div>
|
|
71
|
+
<button (click)="generatePdf()">Generate PDF</button>
|
|
72
|
+
</div>
|
|
73
|
+
`, isInline: true, styles: [":host .mat-dialog-content{margin:0;padding:0;overflow:hidden}:host .mat-nav-list{display:flex;flex-direction:column}.mat-dialog-actions{margin-bottom:0}.item-description{white-space:inherit!important}\n"] });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExportPdfComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{
|
|
77
|
+
selector: 'rp-pdf-export',
|
|
78
|
+
template: `
|
|
79
|
+
<div>
|
|
80
|
+
<button (click)="generatePdf()">Generate PDF</button>
|
|
81
|
+
</div>
|
|
82
|
+
`,
|
|
83
|
+
styleUrls: ['./pdf-export.component.scss']
|
|
84
|
+
}]
|
|
85
|
+
}], ctorParameters: function () { return [{ type: i1.SceneService }, { type: i2.FloorService }, { type: i3.MessageBusService }]; } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWV4cG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2FwcC9zaGFyZWQvcGRmLWV4cG9ydC9wZGYtZXhwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFFNUIsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFJeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQWM5RCxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQ1UsYUFBMkIsRUFDM0IsYUFBMkIsRUFDM0Isa0JBQXFDO1FBRnJDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFOdkMsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFDM0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBUXRDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDOUcsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sV0FBVyxHQUFhLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQzNFLE1B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O29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtqc1BERn0gZnJvbSAnanNwZGYnO1xyXG5pbXBvcnQge1NjZW5lU2VydmljZX0gZnJvbSAnLi4vLi4vcGx1Z2lucy9jb3JlM2Qvc2VydmljZS9zY2VuZS5zZXJ2aWNlJztcclxuaW1wb3J0IGF1dG9UYWJsZSBmcm9tICdqc3BkZi1hdXRvdGFibGUnO1xyXG5pbXBvcnQge0Zsb29yU2VydmljZX0gZnJvbSAnLi4vLi4vcGx1Z2lucy9jb3JlM2Qvc2VydmljZS9mbG9vci5zZXJ2aWNlJztcclxuaW1wb3J0IHtNZXNzYWdlQnVzU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL21lc3NhZ2UtYnVzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7TWVzc2FnZVR5cGV9IGZyb20gJy4uLy4uL2NvcmUvZW51bS9tZXNzYWdlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7TWV0YWRhdGF9IGZyb20gJy4uLy4uL3BsdWdpbnMvY29yZTNkL2l0ZW1zL21ldGFkYXRhJztcclxuaW1wb3J0IHtGbG9vckNvdW50UmVzdWx0fSBmcm9tICcuLi8uLi9wbHVnaW5zL2NvcmUzZC9zZXJ2aWNlL2Zsb29yLXRpbGUtaW50ZXJzZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2NvbmZpZ3VyYXRvcmFwaS9idWlsZC9tb2RlbC9zZWxlY3Rpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycC1wZGYtZXhwb3J0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdj5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZ2VuZXJhdGVQZGYoKVwiPkdlbmVyYXRlIFBERjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9wZGYtZXhwb3J0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cG9ydFBkZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlhZ3JhbUJhY2tncm91bmQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3NjZW5lU2VydmljZTogU2NlbmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmxvb3JTZXJ2aWNlOiBGbG9vclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdlQnVzU2VydmljZTogTWVzc2FnZUJ1c1NlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLl9tZXNzYWdlQnVzU2VydmljZS5zdWJzY3JpYmUoTWVzc2FnZVR5cGUuTG9hZFNjYWxlZERpYWdyYW0sIChpbnB1dCkgPT4gdGhpcy5zZXREaWFncmFtQmFja2dyb3VuZChpbnB1dCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZsb29yKCk6IHN0cmluZ1tdW10ge1xyXG4gICAgY29uc3QgYWN0aXZlRmxvb3I6IE1ldGFkYXRhID0gdGhpcy5fZmxvb3JTZXJ2aWNlLmZsb29yVG9Db25maWd1cmUubWV0YWRhdGE7XHJcbiAgICBjb25zdCBvdXRwdXQ6IHN0cmluZ1tdW10gPSBbXTtcclxuICAgIGlmIChhY3RpdmVGbG9vcikge1xyXG4gICAgICBjb25zdCBmbG9vckNvdW50UmVzdWx0OiBGbG9vckNvdW50UmVzdWx0ID0gYWN0aXZlRmxvb3IuZmxvb3JDb3VudFJlc3VsdDtcclxuICAgICAgb3V0cHV0LnB1c2goWydQbGFua2VuIGxpbmtzJywgZmxvb3JDb3VudFJlc3VsdC5sZWZ0LnRvU3RyaW5nKCldKTtcclxuICAgICAgb3V0cHV0LnB1c2goWydQbGFua2VuIHJlY2h0cycsIGZsb29yQ291bnRSZXN1bHQucmlnaHQudG9TdHJpbmcoKV0pO1xyXG4gICAgICBvdXRwdXQucHVzaChbJ0hvZWsnLCBmbG9vckNvdW50UmVzdWx0LmVkZ2UudG9TdHJpbmcoKV0pO1xyXG4gICAgICBvdXRwdXQucHVzaChbJ1RvdGFhbCBhYW50YWwgcGxhbmtlbicsIGZsb29yQ291bnRSZXN1bHQudG90YWwudG9TdHJpbmcoKV0pO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZFNlbGVjdGlvbnM6IFNlbGVjdGlvbltdID0gYWN0aXZlRmxvb3Iuc2VsZWN0aW9ucztcclxuICAgICAgZm9yIChjb25zdCBzZWxlY3RlZFNlbGVjdGlvbiBvZiBzZWxlY3RlZFNlbGVjdGlvbnMpIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRTZWxlY3Rpb24uY29tbWVyY2lhbEFuc3dlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBvdXRwdXQucHVzaChbc2VsZWN0ZWRTZWxlY3Rpb24uY29tbWVyY2lhbFF1ZXN0aW9uLCBzZWxlY3RlZFNlbGVjdGlvbi5jb21tZXJjaWFsQW5zd2VyXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKG91dHB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG91dHB1dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVBkZigpOiB2b2lkIHtcclxuICAgIC8vIGdldCBhbGwgZGF0YVxyXG4gICAgY29uc3Qgc2NlbmVJbWFnZTogc3RyaW5nID0gdGhpcy5fY3JlYXRlU2NlbmVTY3JlZW5zaG90KCk7XHJcbiAgICBjb25zdCBkb2M6IGpzUERGID0gbmV3IGpzUERGKCk7XHJcbiAgICBjb25zdCBkYXRhTGlzdDogc3RyaW5nW11bXSA9IHRoaXMuZ2V0Rmxvb3IoKTtcclxuICAgIGNvbnN0IGRhdGFMaXN0TGVuZ3RoOiBudW1iZXIgPSBkYXRhTGlzdC5sZW5ndGg7XHJcbiAgICBhdXRvVGFibGUoZG9jLCB7XHJcbiAgICAgIGhlYWQ6IFtbJ0hlYWRlcicsICdWYWx1ZSddXSxcclxuICAgICAgYm9keTogZGF0YUxpc3QsXHJcbiAgICAgIGJvZHlTdHlsZXM6IHttaW5DZWxsSGVpZ2h0OiAxMH1cclxuICAgIH0pO1xyXG5cclxuICAgIGRvYy5hZGRQYWdlKCk7XHJcbiAgICBkb2MuYWRkSW1hZ2Uoc2NlbmVJbWFnZSwgJ0pQRUcnLCAwLCAwLCAyMTAsIDExNyk7IC8vIHNpemUgaXMgaW4gbW0gbm90IHBpeGVscyFcclxuICAgIGlmICh0aGlzLl9kaWFncmFtQmFja2dyb3VuZCAhPT0gJycpIHtcclxuICAgICAgZG9jLmFkZFBhZ2UoKTtcclxuICAgICAgY29uc3Qgb2Zmc2V0WUltYWdlVHdvOiBudW1iZXIgPSAzMCArIDEyNSArIChkYXRhTGlzdExlbmd0aCAqIDEwKTtcclxuICAgICAgZG9jLmFkZEltYWdlKHRoaXMuX2RpYWdyYW1CYWNrZ3JvdW5kLCAnSlBFRycsIDAsIDAsIDIxMCwgMTE3KTsgLy8gc2l6ZSBpcyBpbiBtbSBub3QgcGl4ZWxzIVxyXG4gICAgfVxyXG5cclxuICAgIGRvYy5zYXZlKCdzYW1wbGUucGRmJyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHNldERpYWdyYW1CYWNrZ3JvdW5kKGlucHV0OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RpYWdyYW1CYWNrZ3JvdW5kID0gaW5wdXQuYmFja2dyb3VuZC5zcmM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVTY2VuZVNjcmVlbnNob3QoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zY2VuZVNlcnZpY2UuY3JlYXRlUmVuZGVyV2l0aE9ydGhvZ3JhcGhpY0NhbWVyYSgpO1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuX3NjZW5lU2VydmljZS5nZXRTY2VuZUNhbnZhc0ltYWdlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
4
|
+
import { MatListModule } from '@angular/material/list';
|
|
5
|
+
import { CoreModule } from '../../core/core.module';
|
|
6
|
+
import { ExportPdfComponent } from './pdf-export.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class ExportPdfModule {
|
|
9
|
+
}
|
|
10
|
+
ExportPdfModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExportPdfModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
ExportPdfModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExportPdfModule, declarations: [ExportPdfComponent], imports: [CoreModule,
|
|
12
|
+
CommonModule,
|
|
13
|
+
MatDialogModule,
|
|
14
|
+
MatListModule], exports: [ExportPdfComponent] });
|
|
15
|
+
ExportPdfModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExportPdfModule, imports: [[
|
|
16
|
+
CoreModule,
|
|
17
|
+
CommonModule,
|
|
18
|
+
MatDialogModule,
|
|
19
|
+
MatListModule
|
|
20
|
+
]] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExportPdfModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
imports: [
|
|
25
|
+
CoreModule,
|
|
26
|
+
CommonModule,
|
|
27
|
+
MatDialogModule,
|
|
28
|
+
MatListModule
|
|
29
|
+
],
|
|
30
|
+
exports: [
|
|
31
|
+
ExportPdfComponent
|
|
32
|
+
],
|
|
33
|
+
declarations: [
|
|
34
|
+
ExportPdfComponent
|
|
35
|
+
]
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWV4cG9ydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2FwcC9zaGFyZWQvcGRmLWV4cG9ydC9wZGYtZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFnQjFELE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBSHhCLGtCQUFrQixhQVRsQixVQUFVO1FBQ1YsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhLGFBR2Isa0JBQWtCOzhHQU1ULGVBQWUsWUFiakI7WUFDUCxVQUFVO1lBQ1YsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1NBQ2Q7NEZBUVUsZUFBZTtrQkFkM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3FCQUNuQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7TWF0TGlzdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7RXhwb3J0UGRmQ29tcG9uZW50fSBmcm9tICcuL3BkZi1leHBvcnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEV4cG9ydFBkZkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBFeHBvcnRQZGZDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRQZGZNb2R1bGUgeyB9XHJcbiJdfQ==
|