@igo2/integration 16.0.2 → 16.1.1

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.
Files changed (73) hide show
  1. package/esm2022/lib/about/about-tool/about-tool.component.mjs +15 -91
  2. package/esm2022/lib/about/about.module.mjs +29 -30
  3. package/esm2022/lib/analytics/analytics-listener.service.mjs +12 -12
  4. package/esm2022/lib/analytics/analytics.module.mjs +12 -12
  5. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +9 -21
  6. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +13 -14
  7. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +11 -17
  8. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +13 -14
  9. package/esm2022/lib/catalog/catalog.module.mjs +12 -13
  10. package/esm2022/lib/catalog/catalog.state.mjs +9 -9
  11. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +7 -11
  12. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +9 -15
  13. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +7 -9
  14. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +7 -11
  15. package/esm2022/lib/context/context.module.mjs +29 -30
  16. package/esm2022/lib/context/context.state.mjs +9 -9
  17. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +7 -11
  18. package/esm2022/lib/directions/directions.module.mjs +13 -14
  19. package/esm2022/lib/directions/directions.state.mjs +9 -9
  20. package/esm2022/lib/draw/draw.module.mjs +11 -12
  21. package/esm2022/lib/draw/draw.state.mjs +9 -9
  22. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +7 -13
  23. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +13 -14
  24. package/esm2022/lib/draw/index.mjs +2 -1
  25. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +7 -11
  26. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +7 -11
  27. package/esm2022/lib/filter/filter.module.mjs +33 -34
  28. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +7 -9
  29. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +13 -40
  30. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +7 -9
  31. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +15 -66
  32. package/esm2022/lib/import-export/import-export.module.mjs +27 -28
  33. package/esm2022/lib/import-export/import-export.state.mjs +9 -9
  34. package/esm2022/lib/integration.module.mjs +40 -41
  35. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +9 -137
  36. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +7 -50
  37. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +7 -104
  38. package/esm2022/lib/map/layer-list-tool.state.mjs +9 -9
  39. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +23 -149
  40. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +17 -147
  41. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +10 -99
  42. package/esm2022/lib/map/map-proximity.state.mjs +9 -9
  43. package/esm2022/lib/map/map-tool/map-tool.component.mjs +21 -60
  44. package/esm2022/lib/map/map-tools/map-tools.component.mjs +32 -257
  45. package/esm2022/lib/map/map.module.mjs +99 -100
  46. package/esm2022/lib/map/map.state.mjs +9 -9
  47. package/esm2022/lib/measure/measure.module.mjs +12 -13
  48. package/esm2022/lib/measure/measure.state.mjs +9 -9
  49. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +7 -11
  50. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +13 -14
  51. package/esm2022/lib/print/print-tool/print-tool.component.mjs +7 -11
  52. package/esm2022/lib/print/print.module.mjs +13 -14
  53. package/esm2022/lib/search/query.state.mjs +9 -9
  54. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +17 -19
  55. package/esm2022/lib/search/search-bar/search-bar.module.mjs +12 -13
  56. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +13 -110
  57. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +37 -38
  58. package/esm2022/lib/search/search.module.mjs +12 -13
  59. package/esm2022/lib/search/search.state.mjs +9 -9
  60. package/esm2022/lib/storage/storage.module.mjs +12 -12
  61. package/esm2022/lib/storage/storage.state.mjs +9 -9
  62. package/esm2022/lib/tool/tool.module.mjs +12 -12
  63. package/esm2022/lib/tool/tool.state.mjs +9 -9
  64. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +12 -12
  65. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +9 -9
  66. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +12 -12
  67. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +11 -27
  68. package/esm2022/lib/workspace/workspace.module.mjs +23 -24
  69. package/esm2022/lib/workspace/workspace.state.mjs +9 -9
  70. package/fesm2022/igo2-integration.mjs +910 -2139
  71. package/fesm2022/igo2-integration.mjs.map +1 -1
  72. package/lib/draw/index.d.ts +1 -0
  73. package/package.json +19 -22
@@ -21,67 +21,6 @@ import * as i9 from "@angular/material/icon";
21
21
  import * as i10 from "@angular/material/slide-toggle";
22
22
  import * as i11 from "@angular/material/button";
23
23
  import * as i12 from "@ngx-translate/core";
24
- function AdvancedCoordinatesComponent_mat_form_field_2_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelementStart(0, "mat-form-field", 14)(1, "mat-label");
26
- i0.ɵɵtext(2);
27
- i0.ɵɵpipe(3, "translate");
28
- i0.ɵɵelementEnd();
29
- i0.ɵɵelement(4, "textarea", 15, 16);
30
- i0.ɵɵpipe(6, "translate");
31
- i0.ɵɵelementEnd();
32
- } if (rf & 2) {
33
- const ctx_r0 = i0.ɵɵnextContext();
34
- i0.ɵɵadvance(2);
35
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "igo.integration.advanced-map-tool.advanced-coordinates.lon"));
36
- i0.ɵɵadvance(2);
37
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(6, 5, "igo.integration.advanced-map-tool.advanced-coordinates.lon"))("value", ctx_r0.coordinates[0]);
38
- } }
39
- function AdvancedCoordinatesComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "mat-form-field", 14);
41
- i0.ɵɵelement(1, "textarea", 15, 16);
42
- i0.ɵɵpipe(3, "translate");
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- const ctx_r2 = i0.ɵɵnextContext();
46
- i0.ɵɵadvance(1);
47
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.est"))("value", ctx_r2.coordinates[0]);
48
- } }
49
- function AdvancedCoordinatesComponent_mat_form_field_5_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelementStart(0, "mat-form-field", 17)(1, "mat-label");
51
- i0.ɵɵtext(2);
52
- i0.ɵɵpipe(3, "translate");
53
- i0.ɵɵelementEnd();
54
- i0.ɵɵelement(4, "textarea", 15, 16);
55
- i0.ɵɵpipe(6, "translate");
56
- i0.ɵɵelementEnd();
57
- } if (rf & 2) {
58
- const ctx_r3 = i0.ɵɵnextContext();
59
- i0.ɵɵadvance(2);
60
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "igo.integration.advanced-map-tool.advanced-coordinates.lat"));
61
- i0.ɵɵadvance(2);
62
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(6, 5, "igo.integration.advanced-map-tool.advanced-coordinates.lat"))("value", ctx_r3.coordinates[1]);
63
- } }
64
- function AdvancedCoordinatesComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
65
- i0.ɵɵelementStart(0, "mat-form-field", 17);
66
- i0.ɵɵelement(1, "textarea", 15, 16);
67
- i0.ɵɵpipe(3, "translate");
68
- i0.ɵɵelementEnd();
69
- } if (rf & 2) {
70
- const ctx_r5 = i0.ɵɵnextContext();
71
- i0.ɵɵadvance(1);
72
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.nord"))("value", ctx_r5.coordinates[1]);
73
- } }
74
- function AdvancedCoordinatesComponent_mat_option_17_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelementStart(0, "mat-option", 18);
76
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_mat_option_17_Template_mat_option_click_0_listener($event) { return $event.stopPropagation(); });
77
- i0.ɵɵtext(1);
78
- i0.ɵɵelementEnd();
79
- } if (rf & 2) {
80
- const projection_r11 = ctx.$implicit;
81
- i0.ɵɵproperty("value", projection_r11);
82
- i0.ɵɵadvance(1);
83
- i0.ɵɵtextInterpolate1(" ", projection_r11.translatedValue || projection_r11.alias, " ");
84
- } }
85
24
  /**
86
25
  * Tool to display the coordinates and a cursor of the center of the map
87
26
  */
@@ -460,80 +399,13 @@ export class AdvancedCoordinatesComponent {
460
399
  }
461
400
  });
462
401
  }
463
- static ɵfac = function AdvancedCoordinatesComponent_Factory(t) { return new (t || AdvancedCoordinatesComponent)(i0.ɵɵdirectiveInject(i1.MapState), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(i2.MessageService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.StorageService), i0.ɵɵdirectiveInject(i2.ConfigService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder)); };
464
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdvancedCoordinatesComponent, selectors: [["igo-advanced-coordinates"]], inputs: { projectionsLimitations: "projectionsLimitations" }, decls: 33, vars: 37, consts: [[1, "advanced-coordinates__coordinates-container"], [1, "advanced-coordinates__coordinates-container__inner"], ["class", "coordinates", 4, "ngIf", "ngIfElse"], ["elseBlock", ""], ["class", "coordinates2", 4, "ngIf", "ngIfElse"], ["elseBlock2", ""], ["mat-icon-button", "", 1, "igo-form-button-group", "advanced-coordinates__copy-coordinates", 3, "click"], ["svgIcon", "content-copy"], [1, "igo-form", "advanced-coordinates__form", 3, "formGroup"], [1, "igo-input-container"], [3, "value", "valueChange"], ["matTooltipShowDelay", "500", 3, "value", "click", 4, "ngFor", "ngForOf"], [1, "center-toggle", "mat-typography", 3, "checked", "labelPosition", "change"], [1, "igo-zoom", "mat-typography"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["matTooltipShowDelay", "500", 3, "value", "click"]], template: function AdvancedCoordinatesComponent_Template(rf, ctx) { if (rf & 1) {
465
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
466
- i0.ɵɵtemplate(2, AdvancedCoordinatesComponent_mat_form_field_2_Template, 7, 7, "mat-form-field", 2);
467
- i0.ɵɵtemplate(3, AdvancedCoordinatesComponent_ng_template_3_Template, 4, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
468
- i0.ɵɵtemplate(5, AdvancedCoordinatesComponent_mat_form_field_5_Template, 7, 7, "mat-form-field", 4);
469
- i0.ɵɵtemplate(6, AdvancedCoordinatesComponent_ng_template_6_Template, 4, 4, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
470
- i0.ɵɵelementEnd();
471
- i0.ɵɵelementStart(8, "button", 6);
472
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_Template_button_click_8_listener() { return ctx.copyTextToClipboard(); });
473
- i0.ɵɵpipe(9, "translate");
474
- i0.ɵɵelement(10, "mat-icon", 7);
475
- i0.ɵɵelementEnd()();
476
- i0.ɵɵelementStart(11, "form", 8)(12, "mat-form-field", 9)(13, "mat-label");
477
- i0.ɵɵtext(14);
478
- i0.ɵɵpipe(15, "translate");
479
- i0.ɵɵelementEnd();
480
- i0.ɵɵelementStart(16, "mat-select", 10);
481
- i0.ɵɵlistener("valueChange", function AdvancedCoordinatesComponent_Template_mat_select_valueChange_16_listener($event) { return ctx.inputProj = $event; });
482
- i0.ɵɵtemplate(17, AdvancedCoordinatesComponent_mat_option_17_Template, 2, 2, "mat-option", 11);
483
- i0.ɵɵpipe(18, "async");
484
- i0.ɵɵelementEnd()();
485
- i0.ɵɵelementStart(19, "mat-slide-toggle", 12);
486
- i0.ɵɵlistener("change", function AdvancedCoordinatesComponent_Template_mat_slide_toggle_change_19_listener($event) { return ctx.displayCenter($event.checked); });
487
- i0.ɵɵtext(20);
488
- i0.ɵɵpipe(21, "translate");
489
- i0.ɵɵelementEnd()();
490
- i0.ɵɵelementStart(22, "p", 13);
491
- i0.ɵɵtext(23);
492
- i0.ɵɵpipe(24, "translate");
493
- i0.ɵɵelementEnd();
494
- i0.ɵɵelementStart(25, "p", 13);
495
- i0.ɵɵtext(26);
496
- i0.ɵɵpipe(27, "translate");
497
- i0.ɵɵpipe(28, "async");
498
- i0.ɵɵelementEnd();
499
- i0.ɵɵelementStart(29, "p", 13);
500
- i0.ɵɵtext(30);
501
- i0.ɵɵpipe(31, "translate");
502
- i0.ɵɵpipe(32, "number");
503
- i0.ɵɵelementEnd();
504
- } if (rf & 2) {
505
- const _r1 = i0.ɵɵreference(4);
506
- const _r4 = i0.ɵɵreference(7);
507
- i0.ɵɵadvance(2);
508
- i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r1);
509
- i0.ɵɵadvance(3);
510
- i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r4);
511
- i0.ɵɵadvance(3);
512
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(9, 18, "igo.integration.advanced-map-tool.advanced-coordinates.copy"));
513
- i0.ɵɵadvance(3);
514
- i0.ɵɵproperty("formGroup", ctx.form);
515
- i0.ɵɵadvance(3);
516
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 20, "igo.integration.advanced-map-tool.advanced-coordinates.coordSystem"));
517
- i0.ɵɵadvance(2);
518
- i0.ɵɵproperty("value", ctx.inputProj);
519
- i0.ɵɵadvance(1);
520
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(18, 22, ctx.projections$));
521
- i0.ɵɵadvance(2);
522
- i0.ɵɵproperty("checked", ctx.center)("labelPosition", "before");
523
- i0.ɵɵadvance(1);
524
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 24, "igo.integration.advanced-map-tool.advanced-coordinates.center"), " ");
525
- i0.ɵɵadvance(3);
526
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(24, 26, "igo.integration.advanced-map-tool.advanced-coordinates.zoom"), " ", ctx.map.viewController.getZoom(), "\n");
527
- i0.ɵɵadvance(3);
528
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(27, 28, "igo.integration.advanced-map-tool.advanced-coordinates.scale"), " ", i0.ɵɵpipeBind1(28, 30, ctx.formattedScale$), "\n");
529
- i0.ɵɵadvance(4);
530
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(31, 32, "igo.integration.advanced-map-tool.advanced-coordinates.resolution"), " ", i0.ɵɵpipeBind2(32, 34, ctx.map.viewController.getResolution(), "1.0-0"), "\n");
531
- } }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, i4.MatFormField, i4.MatLabel, i5.MatSelect, i6.MatOption, i7.MatInput, i8.NgForOf, i8.NgIf, i9.MatIcon, i10.MatSlideToggle, i11.MatIconButton, i8.AsyncPipe, i8.DecimalPipe, i12.TranslatePipe], styles: ["textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates2[_ngcontent-%COMP%]{padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:100%;padding:0 15px}.igo-form-button-group[_ngcontent-%COMP%]{padding:0 10px;margin:0 10px}.igo-zoom[_ngcontent-%COMP%]{padding:0 15px}.advanced-coordinates__coordinates-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center}.advanced-coordinates__coordinates-container__inner[_ngcontent-%COMP%]{flex:1 1 0}.advanced-coordinates__coordinates-container__inner[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:50%}.advanced-coordinates__form[_ngcontent-%COMP%] .mat-mdc-slide-toggle{padding:10px 15px 35px;width:100%}mat-slide-toggle[_ngcontent-%COMP%]{width:100%;padding:0 8px}mat-slide-toggle[_ngcontent-%COMP%] .mdc-form-field{width:100%}mat-slide-toggle[_ngcontent-%COMP%] .mdc-label{margin-left:0;width:calc(100% - 60px)}"] });
402
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [{ token: i1.MapState }, { token: i2.LanguageService }, { token: i2.MessageService }, { token: i0.ChangeDetectorRef }, { token: i2.StorageService }, { token: i2.ConfigService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
403
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: "projectionsLimitations" }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\r\n }}</mat-label>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\r\n | translate\r\n \"\r\n [value]=\"coordinates[0]\"\r\n ></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\r\n | translate\r\n \"\r\n [value]=\"coordinates[0]\"\r\n ></textarea>\r\n </mat-form-field>\r\n </ng-template>\r\n\r\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\r\n }}</mat-label>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\r\n | translate\r\n \"\r\n [value]=\"coordinates[1]\"\r\n ></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock2>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\r\n | translate\r\n \"\r\n [value]=\"coordinates[1]\"\r\n ></textarea>\r\n </mat-form-field>\r\n </ng-template>\r\n <button\r\n mat-icon-button\r\n [attr.aria-label]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\r\n | translate\r\n \"\r\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\r\n (click)=\"copyTextToClipboard()\"\r\n >\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\r\n | translate\r\n }}</mat-label>\r\n <mat-select [(value)]=\"inputProj\">\r\n <mat-option\r\n matTooltipShowDelay=\"500\"\r\n *ngFor=\"let projection of projections$ | async\"\r\n [value]=\"projection\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{ projection.translatedValue || projection.alias }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-slide-toggle\r\n class=\"center-toggle mat-typography\"\r\n [checked]=\"center\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"displayCenter($event.checked)\"\r\n >\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\r\n | translate\r\n }}\r\n </mat-slide-toggle>\r\n </div>\r\n </form>\r\n\r\n <p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\r\n }}\r\n {{ map.viewController.getZoom() }}\r\n </p>\r\n <p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\r\n }}\r\n {{ formattedScale$ | async }}\r\n </p>\r\n <p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\r\n | translate\r\n }}\r\n {{ map.viewController.getResolution() | number: '1.0-0' }}\r\n </p>\r\n</div>\r\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"], dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.DecimalPipe, name: "number" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
532
404
  }
533
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedCoordinatesComponent, [{
534
- type: Component,
535
- args: [{ selector: 'igo-advanced-coordinates', template: "<div class=\"advanced-coordinates__coordinates-container\">\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-form-field *ngIf=\"units; else elseBlock\" class=\"coordinates\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\r\n }}</mat-label>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\r\n | translate\r\n \"\r\n [value]=\"coordinates[0]\"\r\n ></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock>\r\n <mat-form-field class=\"coordinates\">\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\r\n | translate\r\n \"\r\n [value]=\"coordinates[0]\"\r\n ></textarea>\r\n </mat-form-field>\r\n </ng-template>\r\n\r\n <mat-form-field *ngIf=\"units; else elseBlock2\" class=\"coordinates2\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\r\n }}</mat-label>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\r\n | translate\r\n \"\r\n [value]=\"coordinates[1]\"\r\n ></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock2>\r\n <mat-form-field class=\"coordinates2\">\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\r\n | translate\r\n \"\r\n [value]=\"coordinates[1]\"\r\n ></textarea>\r\n </mat-form-field>\r\n </ng-template>\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n [attr.aria-label]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy' | translate\r\n \"\r\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\r\n (click)=\"copyTextToClipboard()\"\r\n >\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n</div>\r\n<form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\r\n <mat-form-field class=\"igo-input-container\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\r\n | translate\r\n }}</mat-label>\r\n <mat-select [(value)]=\"inputProj\">\r\n <mat-option\r\n matTooltipShowDelay=\"500\"\r\n *ngFor=\"let projection of projections$ | async\"\r\n [value]=\"projection\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{ projection.translatedValue || projection.alias }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-slide-toggle\r\n class=\"center-toggle mat-typography\"\r\n [checked]=\"center\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"displayCenter($event.checked)\"\r\n >\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\r\n | translate\r\n }}\r\n </mat-slide-toggle>\r\n</form>\r\n\r\n<p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\r\n }}\r\n {{ map.viewController.getZoom() }}\r\n</p>\r\n<p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\r\n }}\r\n {{ formattedScale$ | async }}\r\n</p>\r\n<p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\r\n | translate\r\n }}\r\n {{ map.viewController.getResolution() | number: '1.0-0' }}\r\n</p>\r\n", styles: ["textarea{resize:none}mat-form-field{padding:10px 15px}mat-form-field.coordinates2{padding:0 10px 0 3px}mat-form-field.igo-input-container{width:100%;padding:0 15px}.igo-form-button-group{padding:0 10px;margin:0 10px}.igo-zoom{padding:0 15px}.advanced-coordinates__coordinates-container{display:flex;flex-direction:row;align-items:center}.advanced-coordinates__coordinates-container__inner{flex:1 1 0}.advanced-coordinates__coordinates-container__inner .mat-mdc-form-field{width:50%}.advanced-coordinates__form ::ng-deep .mat-mdc-slide-toggle{padding:10px 15px 35px;width:100%}mat-slide-toggle{width:100%;padding:0 8px}mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}\n"] }]
536
- }], function () { return [{ type: i1.MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.StorageService }, { type: i2.ConfigService }, { type: i3.UntypedFormBuilder }]; }, { projectionsLimitations: [{
537
- type: Input
538
- }] }); })();
539
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtY29vcmRpbmF0ZXMvYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtY29vcmRpbmF0ZXMvYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLGFBQWEsRUFDYixlQUFlLEVBQ2YsY0FBYyxFQUNkLFlBQVksRUFDWixjQUFjLEVBQ2YsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUlMLFdBQVcsRUFDWixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxlQUFlLEVBQWdCLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7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QW1DO1lBQ2pDLGFBS0Y7OztZQUFBLGlCQUFJOzs7O1lBNUhpQixlQUFhO1lBQWIsZ0NBQWEsaUJBQUE7WUFnQ2IsZUFBYTtZQUFiLGdDQUFhLGlCQUFBO1lBbUM5QixlQUVDO1lBRkQsa0hBRUM7WUFPNkMsZUFBa0I7WUFBbEIsb0NBQWtCO1lBRXJELGVBR1Q7WUFIUyxrSEFHVDtZQUNVLGVBQXFCO1lBQXJCLHFDQUFxQjtZQUdOLGVBQXVCO1lBQXZCLGtFQUF1QjtZQVVsRCxlQUFrQjtZQUFsQixvQ0FBa0IsMkJBQUE7WUFJbEIsZUFJRjtZQUpFLHdIQUlGO1lBSUEsZUFJRjtZQUpFLDhKQUlGO1lBRUUsZUFJRjtZQUpFLDBLQUlGO1lBRUUsZUFLRjtZQUxFLDJNQUtGOzs7dUZEbEZhLDRCQUE0QjtjQUx4QyxTQUFTOzJCQUNFLDBCQUEwQjtnUEFtQ2hDLHNCQUFzQjtrQkFEekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb25maWdTZXJ2aWNlLFxyXG4gIExhbmd1YWdlU2VydmljZSxcclxuICBNZXNzYWdlU2VydmljZSxcclxuICBTdG9yYWdlU2NvcGUsXHJcbiAgU3RvcmFnZVNlcnZpY2VcclxufSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBJZ29NYXAsXHJcbiAgSW5wdXRQcm9qZWN0aW9ucyxcclxuICBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9ucyxcclxuICBmb3JtYXRTY2FsZVxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcbmltcG9ydCB7IGNvbXB1dGVQcm9qZWN0aW9uc0NvbnN0cmFpbnRzLCB6b25lTXRtLCB6b25lVXRtIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAuc3RhdGUnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2wgdG8gZGlzcGxheSB0aGUgY29vcmRpbmF0ZXMgYW5kIGEgY3Vyc29yIG9mIHRoZSBjZW50ZXIgb2YgdGhlIG1hcFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWR2YW5jZWQtY29vcmRpbmF0ZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZhbmNlZC1jb29yZGluYXRlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRDb29yZGluYXRlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgZm9ybWF0dGVkU2NhbGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xyXG4gIHB1YmxpYyBwcm9qZWN0aW9ucyQ6IEJlaGF2aW9yU3ViamVjdDxJbnB1dFByb2plY3Rpb25zW10+ID1cclxuICAgIG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBjb29yZGluYXRlczogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBjdXJyZW50Q2VudGVyRGVmYXVsdFByb2o6IFtudW1iZXIsIG51bWJlcl07XHJcbiAgcHVibGljIGNlbnRlcjogYm9vbGVhbjtcclxuICBwcml2YXRlIGluTXRtWm9uZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHJpdmF0ZSBpbkxhbWJlcnQyID0geyAzMjE5ODogdHJ1ZSwgMzc5ODogdHJ1ZSB9O1xyXG4gIHByaXZhdGUgbWFwU3RhdGUkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX3Byb2plY3Rpb25zTGltaXRhdGlvbnM6IFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zID0ge307XHJcbiAgcHJpdmF0ZSBwcm9qZWN0aW9uc0NvbnN0cmFpbnRzOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9ucztcclxuICBwcml2YXRlIGRlZmF1bHRQcm9qOiBJbnB1dFByb2plY3Rpb25zO1xyXG4gIHByaXZhdGUgY3VycmVudFpvbmVzID0geyB1dG06IHVuZGVmaW5lZCwgbXRtOiB1bmRlZmluZWQgfTtcclxuICBwdWJsaWMgdW5pdHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGdldCBpbnB1dFByb2ooKTogSW5wdXRQcm9qZWN0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnaW5wdXRQcm9qJykudmFsdWU7XHJcbiAgfVxyXG4gIHNldCBpbnB1dFByb2oodmFsdWU6IElucHV0UHJvamVjdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgaW5wdXRQcm9qOiB2YWx1ZSB9KTtcclxuICB9XHJcbiAgZ2V0IHByb2plY3Rpb25zTGltaXRhdGlvbnMoKTogUHJvamVjdGlvbnNMaW1pdGF0aW9uc09wdGlvbnMge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Byb2plY3Rpb25zTGltaXRhdGlvbnMgfHwge307XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBwcm9qZWN0aW9uc0xpbWl0YXRpb25zKHZhbHVlOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9ucykge1xyXG4gICAgdGhpcy5fcHJvamVjdGlvbnNMaW1pdGF0aW9ucyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRlZmF1bHRQcm9qID0ge1xyXG4gICAgICB0cmFuc2xhdGVkVmFsdWU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMud2dzODQnLFxyXG4gICAgICAgIHsgY29kZTogJ0VQU0c6NDMyNicgfVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2xhdGVLZXk6ICd3Z3M4NCcsXHJcbiAgICAgIGFsaWFzOiAnV0dTODQnLFxyXG4gICAgICBjb2RlOiAnRVBTRzo0MzI2JyxcclxuICAgICAgem9uZTogJycsXHJcbiAgICAgIGRlZjogdW5kZWZpbmVkLFxyXG4gICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgfTtcclxuICAgIHRoaXMuY2VudGVyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ2NlbnRlclRvZ2dsZScpIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmNvbXB1dGVQcm9qZWN0aW9ucygpO1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RlbiBhIHN0YXRlIG9mIHRoZSBtYXAsIGEgc3RhdGUgb2YgYSBmb3JtLCB1cGRhdGUgdGhlIGNvb3JkaW5hdGVzXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFN0YXRlJCQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuc3RhdGUkLnBpcGUoZGVib3VuY2VUaW1lKDUwKSksXHJcbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXNcclxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2NhbGVWYWx1ZSh0aGlzLm1hcCk7XHJcbiAgICAgIHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0Q2VudGVyKFxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2ouY29kZVxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBjdXJyZW50TXRtWm9uZSA9IHpvbmVNdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICBjb25zdCBjdXJyZW50VXRtWm9uZSA9IHpvbmVVdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICBpZiAoIXRoaXMuaW5NdG1ab25lICYmIGN1cnJlbnRNdG1ab25lICE9PSB0aGlzLmN1cnJlbnRab25lcy5tdG0pIHtcclxuICAgICAgICB0aGlzLmJhY2sycXVlYmVjKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHpvbmVDaGFuZ2UgPSBmYWxzZTtcclxuICAgICAgaWYgKGN1cnJlbnRNdG1ab25lICE9PSB0aGlzLmN1cnJlbnRab25lcy5tdG0pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRab25lcy5tdG0gPSBjdXJyZW50TXRtWm9uZTtcclxuICAgICAgICB6b25lQ2hhbmdlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY3VycmVudFV0bVpvbmUgIT09IHRoaXMuY3VycmVudFpvbmVzLnV0bSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFpvbmVzLnV0bSA9IGN1cnJlbnRVdG1ab25lO1xyXG4gICAgICAgIHpvbmVDaGFuZ2UgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh6b25lQ2hhbmdlKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQcm9qZWN0aW9uc1pvbmVDaGFuZ2UoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNoZWNrTGFtYmVydCh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvaik7XHJcbiAgICAgIHRoaXMuY29vcmRpbmF0ZXMgPSB0aGlzLmdldENvb3JkaW5hdGVzKCk7XHJcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChcclxuICAgICAgICAnY3VycmVudFByb2plY3Rpb24nLFxyXG4gICAgICAgIHRoaXMuaW5wdXRQcm9qLFxyXG4gICAgICAgIFN0b3JhZ2VTY29wZS5TRVNTSU9OXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB0ZW1wSW5wdXRQcm9qID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICdjdXJyZW50UHJvamVjdGlvbidcclxuICAgICkgYXMgSW5wdXRQcm9qZWN0aW9ucztcclxuICAgIHRoaXMuaW5wdXRQcm9qID0gdGhpcy5wcm9qZWN0aW9ucyQudmFsdWVbMF07XHJcbiAgICBpZiAodGVtcElucHV0UHJvaiAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBwb3MgPSB0aGlzLnBvc2l0aW9uSW5MaXN0KHRlbXBJbnB1dFByb2opO1xyXG4gICAgICB0aGlzLmlucHV0UHJvaiA9IHRoaXMucHJvamVjdGlvbnMkLnZhbHVlW3Bvc107XHJcbiAgICAgIHRoaXMudXBkYXRlWm9uZU10bVV0bSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYXAubWFwQ2VudGVyJC5uZXh0KHRoaXMuY2VudGVyKTtcclxuICAgIHRoaXMuY29vcmRpbmF0ZXMgPSB0aGlzLmdldENvb3JkaW5hdGVzKCk7XHJcbiAgICB0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvaiA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLmdldENlbnRlcihcclxuICAgICAgdGhpcy5kZWZhdWx0UHJvai5jb2RlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcC5tYXBDZW50ZXIkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5tYXBTdGF0ZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTY2FsZVZhbHVlKG1hcDogSWdvTWFwKSB7XHJcbiAgICB0aGlzLmZvcm1hdHRlZFNjYWxlJC5uZXh0KFxyXG4gICAgICAnOiB+IDEgLyAnICsgZm9ybWF0U2NhbGUobWFwLnZpZXdDb250cm9sbGVyLmdldFNjYWxlKCkpXHJcbiAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDb29yZGluYXRlcyBvZiB0aGUgY2VudGVyIG9mIHRoZSBtYXAgb24gdGhlIGFwcHJvcHJpYXRlIHN5c3RlbWUgb2YgY29vcmRpbmF0ZXNcclxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB0d28gbnVtYmVyc1xyXG4gICAqL1xyXG4gIGdldENvb3JkaW5hdGVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHRoaXMuY3VycmVudFpvbmVzLm10bSA9IHpvbmVNdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgdGhpcy5jdXJyZW50Wm9uZXMudXRtID0gem9uZVV0bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICBsZXQgY29vcmQ7XHJcbiAgICBjb25zdCBjb2RlID0gdGhpcy5pbnB1dFByb2ouY29kZTtcclxuICAgIGxldCBkZWNpbWFsID0gMjtcclxuICAgIGlmIChjb2RlLmluY2x1ZGVzKCdFUFNHOjQzMjYnKSB8fCBjb2RlLmluY2x1ZGVzKCdFUFNHOjQyNjknKSkge1xyXG4gICAgICBkZWNpbWFsID0gNTtcclxuICAgIH1cclxuICAgIHRoaXMudW5pdHMgPSBjb2RlID09PSAnRVBTRzo0MzI2JyB8fCBjb2RlID09PSAnRVBTRzo0MjY5JztcclxuICAgIGNvb3JkID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXJcclxuICAgICAgLmdldENlbnRlcihjb2RlKVxyXG4gICAgICAubWFwKChjKSA9PiBjLnRvRml4ZWQoZGVjaW1hbCkpO1xyXG4gICAgcmV0dXJuIGNvb3JkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29weSB0aGUgY29vcmRpbmF0ZXMgdG8gYSBjbGlwYm9hcmRcclxuICAgKi9cclxuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KHRoaXMuY29vcmRpbmF0ZXMudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5jb3B5TXNnJyxcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmNvcHlUaXRsZSdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgYSBjdXJzb3Igb24gdGhlIGNlbnRlciBvZiB0aGUgbWFwXHJcbiAgICovXHJcbiAgZGlzcGxheUNlbnRlcih0b2dnbGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuY2VudGVyID0gdG9nZ2xlO1xyXG4gICAgdGhpcy5tYXAubWFwQ2VudGVyJC5uZXh0KHRvZ2dsZSk7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnY2VudGVyVG9nZ2xlJywgdG9nZ2xlLCBTdG9yYWdlU2NvcGUuU0VTU0lPTik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCdWlsZGVyIG9mIHRoZSBmb3JtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgaW5wdXRQcm9qOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGxpc3Qgb2YgcHJvamVjdGlvbnMgYWZ0ZXIgY2hhbmdpbmcgb2YgdGhlIHN0YXRlIG9mIHRoZSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZVByb2plY3Rpb25zWm9uZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGxldCBtb2RpZmllZFByb2ogPSB0aGlzLnByb2plY3Rpb25zJC52YWx1ZTtcclxuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICAgIG1vZGlmaWVkUHJvai5tYXAoKHApID0+IHtcclxuICAgICAgaWYgKHAudHJhbnNsYXRlS2V5ID09PSAnbXRtJykge1xyXG4gICAgICAgIGNvbnN0IHpvbmUgPSB6b25lTXRtKHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qWzBdKTtcclxuICAgICAgICBpZiAoem9uZSkge1xyXG4gICAgICAgICAgY29uc3QgY29kZSA9IHpvbmUgPCAxMCA/IGBFUFNHOjMyMTgke3pvbmV9YCA6IGBFUFNHOjMyMSR7ODAgKyB6b25lfWA7XHJcbiAgICAgICAgICBwLmFsaWFzID0gYE1UTSAke3pvbmV9YDtcclxuICAgICAgICAgIHAuY29kZSA9IGNvZGU7XHJcbiAgICAgICAgICBwLnpvbmUgPSBgJHt6b25lfWA7XHJcbiAgICAgICAgICBwLnRyYW5zbGF0ZWRWYWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLm10bScsXHJcbiAgICAgICAgICAgIHBcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHAuYWxpYXMgPSAnJztcclxuICAgICAgICAgIHRoaXMuaW5NdG1ab25lID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAodGhpcy5pbnB1dFByb2oudHJhbnNsYXRlS2V5ID09PSAnbXRtJykge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0UHJvaiA9IHRoaXMucHJvamVjdGlvbnMkLnZhbHVlWzBdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAocC50cmFuc2xhdGVLZXkgPT09ICd1dG0nKSB7XHJcbiAgICAgICAgY29uc3Qgem9uZSA9IHpvbmVVdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICAgIGNvbnN0IGNvZGUgPSBgRVBTRzozMjYke3pvbmV9YDtcclxuICAgICAgICBwLmFsaWFzID0gYFVUTSAke3pvbmV9YDtcclxuICAgICAgICBwLmNvZGUgPSBjb2RlO1xyXG4gICAgICAgIHAuem9uZSA9IGAke3pvbmV9YDtcclxuICAgICAgICBwLnRyYW5zbGF0ZWRWYWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy51dG0nLFxyXG4gICAgICAgICAgcFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgbW9kaWZpZWRQcm9qID0gbW9kaWZpZWRQcm9qLmZpbHRlcigocCkgPT4gcC5hbGlhcyAhPT0gJycpO1xyXG4gICAgdGhpcy5wcm9qZWN0aW9ucyQubmV4dChtb2RpZmllZFByb2opO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgbGlzdCBvZiBjdXJyZW50cyBwcm9qZWN0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY29tcHV0ZVByb2plY3Rpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9qZWN0aW9uc0NvbnN0cmFpbnRzID0gY29tcHV0ZVByb2plY3Rpb25zQ29uc3RyYWludHMoXHJcbiAgICAgIHRoaXMucHJvamVjdGlvbnNMaW1pdGF0aW9uc1xyXG4gICAgKTtcclxuICAgIGNvbnN0IHByb2plY3Rpb25zOiBJbnB1dFByb2plY3Rpb25zW10gPSBbXTtcclxuXHJcbiAgICBpZiAoIXRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0Q2VudGVyKFxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2ouY29kZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICAgIGlmICh0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMud2dzODQpIHtcclxuICAgICAgcHJvamVjdGlvbnMucHVzaCh7XHJcbiAgICAgICAgdHJhbnNsYXRlZFZhbHVlOiB0cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMud2dzODQnLFxyXG4gICAgICAgICAgeyBjb2RlOiAnRVBTRzo0MzI2JyB9XHJcbiAgICAgICAgKSxcclxuICAgICAgICB0cmFuc2xhdGVLZXk6ICd3Z3M4NCcsXHJcbiAgICAgICAgYWxpYXM6ICdXR1M4NCcsXHJcbiAgICAgICAgY29kZTogJ0VQU0c6NDMyNicsXHJcbiAgICAgICAgem9uZTogJycsXHJcbiAgICAgICAgZGVmOiB1bmRlZmluZWQsXHJcbiAgICAgICAgZXh0ZW50OiB1bmRlZmluZWRcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJvamVjdGlvbnNDb25zdHJhaW50cy5uYWQ4Mykge1xyXG4gICAgICBwcm9qZWN0aW9ucy5wdXNoKHtcclxuICAgICAgICB0cmFuc2xhdGVkVmFsdWU6IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy5uYWQ4MycsXHJcbiAgICAgICAgICB7IGNvZGU6ICdFUFNHOjQyNjknIH1cclxuICAgICAgICApLFxyXG4gICAgICAgIHRyYW5zbGF0ZUtleTogJ25hZDgzJyxcclxuICAgICAgICBhbGlhczogJ05BRDgzJyxcclxuICAgICAgICBjb2RlOiAnRVBTRzo0MjY5JyxcclxuICAgICAgICB6b25lOiAnJyxcclxuICAgICAgICBkZWY6IHVuZGVmaW5lZCxcclxuICAgICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uc0NvbnN0cmFpbnRzLndlYk1lcmNhdG9yKSB7XHJcbiAgICAgIHByb2plY3Rpb25zLnB1c2goe1xyXG4gICAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLndlYk1lcmNhdG9yJyxcclxuICAgICAgICAgIHsgY29kZTogJ0VQU0c6Mzg1NycgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgdHJhbnNsYXRlS2V5OiAnd2ViTWVyY2F0b3InLFxyXG4gICAgICAgIGFsaWFzOiAnV2ViIE1lcmNhdG9yJyxcclxuICAgICAgICBjb2RlOiAnRVBTRzozODU3JyxcclxuICAgICAgICB6b25lOiAnJyxcclxuICAgICAgICBkZWY6IHVuZGVmaW5lZCxcclxuICAgICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMubXRtKSB7XHJcbiAgICAgIC8vIFF1ZWJlY1xyXG4gICAgICBjb25zdCB6b25lID0gem9uZU10bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICAgIGlmICh6b25lKSB7XHJcbiAgICAgICAgdGhpcy5pbk10bVpvbmUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGNvZGUgPSB6b25lIDwgMTAgPyBgRVBTRzozMjE4JHt6b25lfWAgOiBgRVBTRzozMjEkezgwICsgem9uZX1gO1xyXG4gICAgICAgIHByb2plY3Rpb25zLnNwbGljZSgzLCAwLCB7XHJcbiAgICAgICAgICB0cmFuc2xhdGVkVmFsdWU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLm10bScsXHJcbiAgICAgICAgICAgIHsgY29kZSwgem9uZSB9XHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHJhbnNsYXRlS2V5OiAnbXRtJyxcclxuICAgICAgICAgIGFsaWFzOiBgTVRNICR7em9uZX1gLFxyXG4gICAgICAgICAgY29kZSxcclxuICAgICAgICAgIHpvbmU6IGAke3pvbmV9YCxcclxuICAgICAgICAgIGRlZjogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgZXh0ZW50OiB1bmRlZmluZWRcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmluTXRtWm9uZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uc0NvbnN0cmFpbnRzLnV0bSkge1xyXG4gICAgICBjb25zdCBvcmRlciA9IHRoaXMuaW5NdG1ab25lID8gNCA6IDM7XHJcbiAgICAgIGNvbnN0IHpvbmUgPSB6b25lVXRtKHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qWzBdKTtcclxuICAgICAgY29uc3QgY29kZSA9IHpvbmUgPCAxMCA/IGBFUFNHOjMyNjAke3pvbmV9YCA6IGBFUFNHOjMyNiR7em9uZX1gO1xyXG4gICAgICBwcm9qZWN0aW9ucy5zcGxpY2Uob3JkZXIsIDAsIHtcclxuICAgICAgICB0cmFuc2xhdGVkVmFsdWU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy51dG0nLFxyXG4gICAgICAgICAgeyBjb2RlLCB6b25lIH1cclxuICAgICAgICApLFxyXG4gICAgICAgIHRyYW5zbGF0ZUtleTogJ3V0bScsXHJcbiAgICAgICAgYWxpYXM6IGBVVE0gJHt6b25lfWAsXHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICB6b25lOiBgJHt6b25lfWAsXHJcbiAgICAgICAgZGVmOiB1bmRlZmluZWQsXHJcbiAgICAgICAgZXh0ZW50OiB1bmRlZmluZWRcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBsZXQgY29uZmlnUHJvamVjdGlvbjogSW5wdXRQcm9qZWN0aW9uc1tdID0gW107XHJcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uc0NvbnN0cmFpbnRzLnByb2pGcm9tQ29uZmlnKSB7XHJcbiAgICAgIGNvbmZpZ1Byb2plY3Rpb24gPSAodGhpcy5jb25maWcuZ2V0Q29uZmlnKCdwcm9qZWN0aW9ucycpIHx8XHJcbiAgICAgICAgW10pIGFzIElucHV0UHJvamVjdGlvbnNbXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnByb2plY3Rpb25zJC5uZXh0KGNvbmZpZ1Byb2plY3Rpb24uY29uY2F0KHByb2plY3Rpb25zKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQdXNoIHRoZSBNVE0gaW4gdGhlIGFycmF5IG9mIHN5c3RlbWUgb2YgY29vcmRpbmF0ZXNcclxuICAgKiBAcGFyYW0gcHJvamVjdGlvbnMgQXJyYXkgb2YgdGhlIElucHV0UHJvamVjdGlvbnNcclxuICAgKi9cclxuICBwcml2YXRlIHB1c2hNdG0ocHJvamVjdGlvbnM6IEFycmF5PElucHV0UHJvamVjdGlvbnM+KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uc0NvbnN0cmFpbnRzLm10bSkge1xyXG4gICAgICBjb25zdCB6b25lID0gem9uZU10bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICAgIGNvbnN0IGNvZGUgPSB6b25lIDwgMTAgPyBgRVBTRzozMjE4JHt6b25lfWAgOiBgRVBTRzozMjEkezgwICsgem9uZX1gO1xyXG4gICAgICBwcm9qZWN0aW9ucy5zcGxpY2UoMywgMCwge1xyXG4gICAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLm10bScsXHJcbiAgICAgICAgICB7IGNvZGUsIHpvbmUgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgdHJhbnNsYXRlS2V5OiAnbXRtJyxcclxuICAgICAgICBhbGlhczogYE1UTSAke3pvbmV9YCxcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIHpvbmU6IGAke3pvbmV9YCxcclxuICAgICAgICBkZWY6IHVuZGVmaW5lZCxcclxuICAgICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIGxpc3Qgb2Ygc3lzdGVtcyBvZiBjb29yZGluYXRlcyBmb3IgdGVycml0b3J5IG9mIFF1ZWJlY1xyXG4gICAqIHB1c2ggTVRNIGFuZCBVVE0gaW4gdGhlIEFycmF5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBiYWNrMnF1ZWJlYygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHByb2plY3Rpb25zID0gdGhpcy5wcm9qZWN0aW9ucyQudmFsdWU7XHJcbiAgICB0aGlzLnB1c2hNdG0ocHJvamVjdGlvbnMpO1xyXG4gICAgdGhpcy5pbk10bVpvbmUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBudW1iZXJzIG9mIHRoZSB6b25lcyB3aGVuIGFwcGxpY2F0aW9uIGlzIHJlc3RhcnRlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlWm9uZU10bVV0bSgpIHtcclxuICAgIGlmICh0aGlzLmlucHV0UHJvai50cmFuc2xhdGVLZXkgPT09ICdtdG0nKSB7XHJcbiAgICAgIGNvbnN0IHpvbmUgPSB6b25lTXRtKHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qWzBdKTtcclxuICAgICAgdGhpcy5pbnB1dFByb2ouYWxpYXMgPSBgTVRNICR7em9uZX1gO1xyXG4gICAgICBjb25zdCBjb2RlID0gem9uZSA8IDEwID8gYEVQU0c6MzIxOCR7em9uZX1gIDogYEVQU0c6MzIxJHs4MCArIHpvbmV9YDtcclxuICAgICAgdGhpcy5pbnB1dFByb2ouY29kZSA9IGNvZGU7XHJcbiAgICAgIHRoaXMuaW5wdXRQcm9qLnpvbmUgPSBgJHt6b25lfWA7XHJcbiAgICAgIHRoaXMuaW5wdXRQcm9qLnRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMubXRtJyxcclxuICAgICAgICB7IGNvZGUsIHpvbmUgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaW5wdXRQcm9qLnRyYW5zbGF0ZUtleSA9PT0gJ3V0bScpIHtcclxuICAgICAgY29uc3Qgem9uZSA9IHpvbmVVdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICB0aGlzLmlucHV0UHJvai5hbGlhcyA9IGBVVE0gJHt6b25lfWA7XHJcbiAgICAgIGNvbnN0IGNvZGUgPSB6b25lIDwgMTAgPyBgRVBTRzozMjYwJHt6b25lfWAgOiBgRVBTRzozMjYke3pvbmV9YDtcclxuICAgICAgdGhpcy5pbnB1dFByb2ouY29kZSA9IGNvZGU7XHJcbiAgICAgIHRoaXMuaW5wdXRQcm9qLnpvbmUgPSBgJHt6b25lfWA7XHJcbiAgICAgIHRoaXMuaW5wdXRQcm9qLnRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMudXRtJyxcclxuICAgICAgICB7IGNvZGUsIHpvbmUgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHV0ZSB0aGUgcG9zaXRpb24gb2YgYSBjdXJyZW50IHByb2plY3Rpb24gaW4gYSBsaXN0LiAwIGlmIHRoZSBwcm9qZWN0aW9uIGlzIG5vdCBpbiB0aGUgbGlzdFxyXG4gICAqIEBwYXJhbSB0cmFuc2xhdGVLZXkgc3RyaW5nLCB0cmFuc2xhdGUga2V5IG9mIGEgcHJvamVjdGlvblxyXG4gICAqIEByZXR1cm5zIG51bWVyaWMsIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgaW4gdGhlIGFycmF5XHJcbiAgICovXHJcbiAgcG9zaXRpb25Jbkxpc3QodGVtcElucHV0UHJvajogSW5wdXRQcm9qZWN0aW9ucyk6IG51bWJlciB7XHJcbiAgICBjb25zdCB0ayA9IHRlbXBJbnB1dFByb2oudHJhbnNsYXRlS2V5O1xyXG4gICAgY29uc3QgYWxpYXMgPSB0ZW1wSW5wdXRQcm9qLmFsaWFzO1xyXG4gICAgbGV0IHBvc2l0aW9uOyAvLyA9IHVuZGVmaW5lZDtcclxuICAgIGxldCBpdGVyID0gMDtcclxuICAgIHRoaXMucHJvamVjdGlvbnMkLnZhbHVlLm1hcCgocHJvamVjdGlvbikgPT4ge1xyXG4gICAgICBpZiAodGspIHtcclxuICAgICAgICBpZiAodGsgPT09IHByb2plY3Rpb24udHJhbnNsYXRlS2V5KSB7XHJcbiAgICAgICAgICBwb3NpdGlvbiA9IGl0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGFsaWFzID09PSBwcm9qZWN0aW9uLmFsaWFzKSB7XHJcbiAgICAgICAgcG9zaXRpb24gPSBpdGVyO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZXIrKztcclxuICAgIH0pO1xyXG4gICAgcG9zaXRpb24gPSBwb3NpdGlvbiA/IHBvc2l0aW9uIDogMDtcclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSB0aGUgbGlzdCBvZiBwcm9qZWN0aW9ucyBkZXBlbmRpbmcgb24gdGhlIHByb2plY3Rpb25zIG9mIExhbWJlcnRcclxuICAgKiBAcGFyYW0gY29vcmRpbmF0ZXMgQW4gYXJyYXkgb2YgbnVtYmVycywgbG9uZ2l0dWRlIGFuZCBsYXRpdHVkZVxyXG4gICAqL1xyXG4gIGNoZWNrTGFtYmVydChjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXSkge1xyXG4gICAgY29uc3QgbGFtYmVydFByb2plY3Rpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdwcm9qZWN0aW9ucycpIHx8IFtdO1xyXG4gICAgbGFtYmVydFByb2plY3Rpb25zLmZvckVhY2goKHByb2plY3Rpb24pID0+IHtcclxuICAgICAgbGV0IG1vZGlmaWVkUHJvaiA9IHRoaXMucHJvamVjdGlvbnMkLnZhbHVlO1xyXG4gICAgICBjb25zdCBleHRlbnQgPSBwcm9qZWN0aW9uLmV4dGVudDtcclxuICAgICAgY29uc3QgY29kZSA9IHByb2plY3Rpb24uY29kZS5tYXRjaCgvXFxkKy8pO1xyXG4gICAgICBjb25zdCBjdXJyZW50RXh0ZW50V0dTID0gb2xwcm9qLnRyYW5zZm9ybUV4dGVudChcclxuICAgICAgICBleHRlbnQsXHJcbiAgICAgICAgcHJvamVjdGlvbi5jb2RlLFxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2ouY29kZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgY29vcmRpbmF0ZXNbMF0gPCBjdXJyZW50RXh0ZW50V0dTWzBdIHx8XHJcbiAgICAgICAgY29vcmRpbmF0ZXNbMF0gPiBjdXJyZW50RXh0ZW50V0dTWzJdIHx8XHJcbiAgICAgICAgY29vcmRpbmF0ZXNbMV0gPCBjdXJyZW50RXh0ZW50V0dTWzFdIHx8XHJcbiAgICAgICAgY29vcmRpbmF0ZXNbMV0gPiBjdXJyZW50RXh0ZW50V0dTWzNdXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuaW5MYW1iZXJ0Mltjb2RlXSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0UHJvai5hbGlhcyA9PT0gcHJvamVjdGlvbi5hbGlhcykge1xyXG4gICAgICAgICAgdGhpcy5pbnB1dFByb2ogPSB0aGlzLnByb2plY3Rpb25zJC52YWx1ZVswXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbW9kaWZpZWRQcm9qID0gbW9kaWZpZWRQcm9qLmZpbHRlcigocCkgPT4gcC5hbGlhcyAhPT0gcHJvamVjdGlvbi5hbGlhcyk7XHJcbiAgICAgICAgdGhpcy5wcm9qZWN0aW9ucyQubmV4dChtb2RpZmllZFByb2opO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICghdGhpcy5pbkxhbWJlcnQyW2NvZGVdKSB7XHJcbiAgICAgICAgICB0aGlzLnByb2plY3Rpb25zJC5uZXh0KG1vZGlmaWVkUHJvai5jb25jYXQocHJvamVjdGlvbikpO1xyXG4gICAgICAgICAgdGhpcy5pbkxhbWJlcnQyW2NvZGVdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWR2YW5jZWQtY29vcmRpbmF0ZXNfX2Nvb3JkaW5hdGVzLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhZHZhbmNlZC1jb29yZGluYXRlc19fY29vcmRpbmF0ZXMtY29udGFpbmVyX19pbm5lclwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidW5pdHM7IGVsc2UgZWxzZUJsb2NrXCIgY2xhc3M9XCJjb29yZGluYXRlc1wiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5sb24nIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICN0ZXh0QXJlYVxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICByb3dzPVwiMVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5sb24nXHJcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbdmFsdWVdPVwiY29vcmRpbmF0ZXNbMF1cIlxyXG4gICAgICA+PC90ZXh0YXJlYT5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29vcmRpbmF0ZXNcIj5cclxuICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICN0ZXh0QXJlYVxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICByb3dzPVwiMVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXHJcbiAgICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtY29vcmRpbmF0ZXMuZXN0J1xyXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cImNvb3JkaW5hdGVzWzBdXCJcclxuICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidW5pdHM7IGVsc2UgZWxzZUJsb2NrMlwiIGNsYXNzPVwiY29vcmRpbmF0ZXMyXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3tcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmxhdCcgfCB0cmFuc2xhdGVcclxuICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgI3RleHRBcmVhXHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICByZWFkb25seVxyXG4gICAgICAgIHJvd3M9XCIxXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXHJcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmxhdCdcclxuICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICBcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJjb29yZGluYXRlc1sxXVwiXHJcbiAgICAgID48L3RleHRhcmVhPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrMj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29vcmRpbmF0ZXMyXCI+XHJcbiAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAjdGV4dEFyZWFcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgcm93cz1cIjFcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLm5vcmQnXHJcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwiY29vcmRpbmF0ZXNbMV1cIlxyXG4gICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxyXG4gICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmNvcHknIHwgdHJhbnNsYXRlXHJcbiAgICBcIlxyXG4gICAgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgYWR2YW5jZWQtY29vcmRpbmF0ZXNfX2NvcHktY29vcmRpbmF0ZXNcIlxyXG4gICAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQoKVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPGZvcm0gY2xhc3M9XCJpZ28tZm9ybSBhZHZhbmNlZC1jb29yZGluYXRlc19fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tcclxuICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5jb29yZFN5c3RlbSdcclxuICAgICAgICB8IHRyYW5zbGF0ZVxyXG4gICAgfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IFsodmFsdWUpXT1cImlucHV0UHJvalwiPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBwcm9qZWN0aW9uIG9mIHByb2plY3Rpb25zJCB8IGFzeW5jXCJcclxuICAgICAgICBbdmFsdWVdPVwicHJvamVjdGlvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBwcm9qZWN0aW9uLnRyYW5zbGF0ZWRWYWx1ZSB8fCBwcm9qZWN0aW9uLmFsaWFzIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICBjbGFzcz1cImNlbnRlci10b2dnbGUgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgW2NoZWNrZWRdPVwiY2VudGVyXCJcclxuICAgIFtsYWJlbFBvc2l0aW9uXT1cIidiZWZvcmUnXCJcclxuICAgIChjaGFuZ2UpPVwiZGlzcGxheUNlbnRlcigkZXZlbnQuY2hlY2tlZClcIlxyXG4gID5cclxuICAgIHt7XHJcbiAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtY29vcmRpbmF0ZXMuY2VudGVyJ1xyXG4gICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICB9fVxyXG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuPC9mb3JtPlxyXG5cclxuPHAgY2xhc3M9XCJpZ28tem9vbSBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIHt7XHJcbiAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLnpvb20nIHwgdHJhbnNsYXRlXHJcbiAgfX1cclxuICB7eyBtYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpIH19XHJcbjwvcD5cclxuPHAgY2xhc3M9XCJpZ28tem9vbSBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIHt7XHJcbiAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLnNjYWxlJyB8IHRyYW5zbGF0ZVxyXG4gIH19XHJcbiAge3sgZm9ybWF0dGVkU2NhbGUkIHwgYXN5bmMgfX1cclxuPC9wPlxyXG48cCBjbGFzcz1cImlnby16b29tIG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAge3tcclxuICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtY29vcmRpbmF0ZXMucmVzb2x1dGlvbidcclxuICAgICAgfCB0cmFuc2xhdGVcclxuICB9fVxyXG4gIHt7IG1hcC52aWV3Q29udHJvbGxlci5nZXRSZXNvbHV0aW9uKCkgfCBudW1iZXI6ICcxLjAtMCcgfX1cclxuPC9wPlxyXG4iXX0=
405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
406
+ type: Component,
407
+ args: [{ selector: 'igo-advanced-coordinates', template: "<div class=\"advanced-coordinates__coordinates-container\">\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\r\n }}</mat-label>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\r\n | translate\r\n \"\r\n [value]=\"coordinates[0]\"\r\n ></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\r\n | translate\r\n \"\r\n [value]=\"coordinates[0]\"\r\n ></textarea>\r\n </mat-form-field>\r\n </ng-template>\r\n\r\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\r\n }}</mat-label>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\r\n | translate\r\n \"\r\n [value]=\"coordinates[1]\"\r\n ></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock2>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\r\n | translate\r\n \"\r\n [value]=\"coordinates[1]\"\r\n ></textarea>\r\n </mat-form-field>\r\n </ng-template>\r\n <button\r\n mat-icon-button\r\n [attr.aria-label]=\"\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\r\n | translate\r\n \"\r\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\r\n (click)=\"copyTextToClipboard()\"\r\n >\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\r\n | translate\r\n }}</mat-label>\r\n <mat-select [(value)]=\"inputProj\">\r\n <mat-option\r\n matTooltipShowDelay=\"500\"\r\n *ngFor=\"let projection of projections$ | async\"\r\n [value]=\"projection\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{ projection.translatedValue || projection.alias }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-slide-toggle\r\n class=\"center-toggle mat-typography\"\r\n [checked]=\"center\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"displayCenter($event.checked)\"\r\n >\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\r\n | translate\r\n }}\r\n </mat-slide-toggle>\r\n </div>\r\n </form>\r\n\r\n <p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\r\n }}\r\n {{ map.viewController.getZoom() }}\r\n </p>\r\n <p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\r\n }}\r\n {{ formattedScale$ | async }}\r\n </p>\r\n <p class=\"igo-zoom mat-typography\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\r\n | translate\r\n }}\r\n {{ map.viewController.getResolution() | number: '1.0-0' }}\r\n </p>\r\n</div>\r\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"] }]
408
+ }], ctorParameters: function () { return [{ type: i1.MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.StorageService }, { type: i2.ConfigService }, { type: i3.UntypedFormBuilder }]; }, propDecorators: { projectionsLimitations: [{
409
+ type: Input
410
+ }] } });
411
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtY29vcmRpbmF0ZXMvYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtY29vcmRpbmF0ZXMvYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLGFBQWEsRUFDYixlQUFlLEVBQ2YsY0FBYyxFQUNkLFlBQVksRUFDWixjQUFjLEVBQ2YsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUlMLFdBQVcsRUFDWixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxlQUFlLEVBQWdCLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7OztB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LENBQUM7SUFDTCxDQUFDO3dHQTliVSw0QkFBNEI7NEZBQTVCLDRCQUE0Qiw4SEM1Q3pDLDQ2SUFvSUE7OzRGRHhGYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMEJBQTBCO29SQW1DaEMsc0JBQXNCO3NCQUR6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRvcnNcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbmZpZ1NlcnZpY2UsXHJcbiAgTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIE1lc3NhZ2VTZXJ2aWNlLFxyXG4gIFN0b3JhZ2VTY29wZSxcclxuICBTdG9yYWdlU2VydmljZVxyXG59IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIElnb01hcCxcclxuICBJbnB1dFByb2plY3Rpb25zLFxyXG4gIFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zLFxyXG4gIGZvcm1hdFNjYWxlXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgY29tcHV0ZVByb2plY3Rpb25zQ29uc3RyYWludHMsIHpvbmVNdG0sIHpvbmVVdG0gfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgKiBhcyBvbHByb2ogZnJvbSAnb2wvcHJvaic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogVG9vbCB0byBkaXNwbGF5IHRoZSBjb29yZGluYXRlcyBhbmQgYSBjdXJzb3Igb2YgdGhlIGNlbnRlciBvZiB0aGUgbWFwXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hZHZhbmNlZC1jb29yZGluYXRlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWNvb3JkaW5hdGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1jb29yZGluYXRlcy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZENvb3JkaW5hdGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBmb3JtYXR0ZWRTY2FsZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XHJcbiAgcHVibGljIHByb2plY3Rpb25zJDogQmVoYXZpb3JTdWJqZWN0PElucHV0UHJvamVjdGlvbnNbXT4gPVxyXG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIGNvb3JkaW5hdGVzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIGN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvajogW251bWJlciwgbnVtYmVyXTtcclxuICBwdWJsaWMgY2VudGVyOiBib29sZWFuO1xyXG4gIHByaXZhdGUgaW5NdG1ab25lOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIGluTGFtYmVydDIgPSB7IDMyMTk4OiB0cnVlLCAzNzk4OiB0cnVlIH07XHJcbiAgcHJpdmF0ZSBtYXBTdGF0ZSQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBfcHJvamVjdGlvbnNMaW1pdGF0aW9uczogUHJvamVjdGlvbnNMaW1pdGF0aW9uc09wdGlvbnMgPSB7fTtcclxuICBwcml2YXRlIHByb2plY3Rpb25zQ29uc3RyYWludHM6IFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zO1xyXG4gIHByaXZhdGUgZGVmYXVsdFByb2o6IElucHV0UHJvamVjdGlvbnM7XHJcbiAgcHJpdmF0ZSBjdXJyZW50Wm9uZXMgPSB7IHV0bTogdW5kZWZpbmVkLCBtdG06IHVuZGVmaW5lZCB9O1xyXG4gIHB1YmxpYyB1bml0czogYm9vbGVhbiA9IHRydWU7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlucHV0UHJvaigpOiBJbnB1dFByb2plY3Rpb25zIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdpbnB1dFByb2onKS52YWx1ZTtcclxuICB9XHJcbiAgc2V0IGlucHV0UHJvaih2YWx1ZTogSW5wdXRQcm9qZWN0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBpbnB1dFByb2o6IHZhbHVlIH0pO1xyXG4gIH1cclxuICBnZXQgcHJvamVjdGlvbnNMaW1pdGF0aW9ucygpOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJvamVjdGlvbnNMaW1pdGF0aW9ucyB8fCB7fTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHByb2plY3Rpb25zTGltaXRhdGlvbnModmFsdWU6IFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zKSB7XHJcbiAgICB0aGlzLl9wcm9qZWN0aW9uc0xpbWl0YXRpb25zID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXJcclxuICApIHtcclxuICAgIHRoaXMuZGVmYXVsdFByb2ogPSB7XHJcbiAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy53Z3M4NCcsXHJcbiAgICAgICAgeyBjb2RlOiAnRVBTRzo0MzI2JyB9XHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zbGF0ZUtleTogJ3dnczg0JyxcclxuICAgICAgYWxpYXM6ICdXR1M4NCcsXHJcbiAgICAgIGNvZGU6ICdFUFNHOjQzMjYnLFxyXG4gICAgICB6b25lOiAnJyxcclxuICAgICAgZGVmOiB1bmRlZmluZWQsXHJcbiAgICAgIGV4dGVudDogdW5kZWZpbmVkXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZW50ZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnY2VudGVyVG9nZ2xlJykgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuY29tcHV0ZVByb2plY3Rpb25zKCk7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVuIGEgc3RhdGUgb2YgdGhlIG1hcCwgYSBzdGF0ZSBvZiBhIGZvcm0sIHVwZGF0ZSB0aGUgY29vcmRpbmF0ZXNcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFwU3RhdGUkJCA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5zdGF0ZSQucGlwZShkZWJvdW5jZVRpbWUoNTApKSxcclxuICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlc1xyXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRTY2FsZVZhbHVlKHRoaXMubWFwKTtcclxuICAgICAgdGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2ogPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIoXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvai5jb2RlXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRNdG1ab25lID0gem9uZU10bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRVdG1ab25lID0gem9uZVV0bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICAgIGlmICghdGhpcy5pbk10bVpvbmUgJiYgY3VycmVudE10bVpvbmUgIT09IHRoaXMuY3VycmVudFpvbmVzLm10bSkge1xyXG4gICAgICAgIHRoaXMuYmFjazJxdWViZWMoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgem9uZUNoYW5nZSA9IGZhbHNlO1xyXG4gICAgICBpZiAoY3VycmVudE10bVpvbmUgIT09IHRoaXMuY3VycmVudFpvbmVzLm10bSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFpvbmVzLm10bSA9IGN1cnJlbnRNdG1ab25lO1xyXG4gICAgICAgIHpvbmVDaGFuZ2UgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjdXJyZW50VXRtWm9uZSAhPT0gdGhpcy5jdXJyZW50Wm9uZXMudXRtKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Wm9uZXMudXRtID0gY3VycmVudFV0bVpvbmU7XHJcbiAgICAgICAgem9uZUNoYW5nZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHpvbmVDaGFuZ2UpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVByb2plY3Rpb25zWm9uZUNoYW5nZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hlY2tMYW1iZXJ0KHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qKTtcclxuICAgICAgdGhpcy5jb29yZGluYXRlcyA9IHRoaXMuZ2V0Q29vcmRpbmF0ZXMoKTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgICdjdXJyZW50UHJvamVjdGlvbicsXHJcbiAgICAgICAgdGhpcy5pbnB1dFByb2osXHJcbiAgICAgICAgU3RvcmFnZVNjb3BlLlNFU1NJT05cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHRlbXBJbnB1dFByb2ogPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcclxuICAgICAgJ2N1cnJlbnRQcm9qZWN0aW9uJ1xyXG4gICAgKSBhcyBJbnB1dFByb2plY3Rpb25zO1xyXG4gICAgdGhpcy5pbnB1dFByb2ogPSB0aGlzLnByb2plY3Rpb25zJC52YWx1ZVswXTtcclxuICAgIGlmICh0ZW1wSW5wdXRQcm9qICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IHBvcyA9IHRoaXMucG9zaXRpb25Jbkxpc3QodGVtcElucHV0UHJvaik7XHJcbiAgICAgIHRoaXMuaW5wdXRQcm9qID0gdGhpcy5wcm9qZWN0aW9ucyQudmFsdWVbcG9zXTtcclxuICAgICAgdGhpcy51cGRhdGVab25lTXRtVXRtKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1hcC5tYXBDZW50ZXIkLm5leHQodGhpcy5jZW50ZXIpO1xyXG4gICAgdGhpcy5jb29yZGluYXRlcyA9IHRoaXMuZ2V0Q29vcmRpbmF0ZXMoKTtcclxuICAgIHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0Q2VudGVyKFxyXG4gICAgICB0aGlzLmRlZmF1bHRQcm9qLmNvZGVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFwLm1hcENlbnRlciQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLm1hcFN0YXRlJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFNjYWxlVmFsdWUobWFwOiBJZ29NYXApIHtcclxuICAgIHRoaXMuZm9ybWF0dGVkU2NhbGUkLm5leHQoXHJcbiAgICAgICc6IH4gMSAvICcgKyBmb3JtYXRTY2FsZShtYXAudmlld0NvbnRyb2xsZXIuZ2V0U2NhbGUoKSlcclxuICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENvb3JkaW5hdGVzIG9mIHRoZSBjZW50ZXIgb2YgdGhlIG1hcCBvbiB0aGUgYXBwcm9wcmlhdGUgc3lzdGVtZSBvZiBjb29yZGluYXRlc1xyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHR3byBudW1iZXJzXHJcbiAgICovXHJcbiAgZ2V0Q29vcmRpbmF0ZXMoKTogc3RyaW5nW10ge1xyXG4gICAgdGhpcy5jdXJyZW50Wm9uZXMubXRtID0gem9uZU10bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICB0aGlzLmN1cnJlbnRab25lcy51dG0gPSB6b25lVXRtKHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qWzBdKTtcclxuICAgIGxldCBjb29yZDtcclxuICAgIGNvbnN0IGNvZGUgPSB0aGlzLmlucHV0UHJvai5jb2RlO1xyXG4gICAgbGV0IGRlY2ltYWwgPSAyO1xyXG4gICAgaWYgKGNvZGUuaW5jbHVkZXMoJ0VQU0c6NDMyNicpIHx8IGNvZGUuaW5jbHVkZXMoJ0VQU0c6NDI2OScpKSB7XHJcbiAgICAgIGRlY2ltYWwgPSA1O1xyXG4gICAgfVxyXG4gICAgdGhpcy51bml0cyA9IGNvZGUgPT09ICdFUFNHOjQzMjYnIHx8IGNvZGUgPT09ICdFUFNHOjQyNjknO1xyXG4gICAgY29vcmQgPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlclxyXG4gICAgICAuZ2V0Q2VudGVyKGNvZGUpXHJcbiAgICAgIC5tYXAoKGMpID0+IGMudG9GaXhlZChkZWNpbWFsKSk7XHJcbiAgICByZXR1cm4gY29vcmQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb3B5IHRoZSBjb29yZGluYXRlcyB0byBhIGNsaXBib2FyZFxyXG4gICAqL1xyXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGhpcy5jb29yZGluYXRlcy50b1N0cmluZygpKTtcclxuICAgIGlmIChzdWNjZXNzZnVsKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmNvcHlNc2cnLFxyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29weVRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhIGN1cnNvciBvbiB0aGUgY2VudGVyIG9mIHRoZSBtYXBcclxuICAgKi9cclxuICBkaXNwbGF5Q2VudGVyKHRvZ2dsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5jZW50ZXIgPSB0b2dnbGU7XHJcbiAgICB0aGlzLm1hcC5tYXBDZW50ZXIkLm5leHQodG9nZ2xlKTtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdjZW50ZXJUb2dnbGUnLCB0b2dnbGUsIFN0b3JhZ2VTY29wZS5TRVNTSU9OKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkZXIgb2YgdGhlIGZvcm1cclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBpbnB1dFByb2o6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgbGlzdCBvZiBwcm9qZWN0aW9ucyBhZnRlciBjaGFuZ2luZyBvZiB0aGUgc3RhdGUgb2YgdGhlIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlUHJvamVjdGlvbnNab25lQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgbGV0IG1vZGlmaWVkUHJvaiA9IHRoaXMucHJvamVjdGlvbnMkLnZhbHVlO1xyXG4gICAgY29uc3QgdHJhbnNsYXRlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gICAgbW9kaWZpZWRQcm9qLm1hcCgocCkgPT4ge1xyXG4gICAgICBpZiAocC50cmFuc2xhdGVLZXkgPT09ICdtdG0nKSB7XHJcbiAgICAgICAgY29uc3Qgem9uZSA9IHpvbmVNdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICAgIGlmICh6b25lKSB7XHJcbiAgICAgICAgICBjb25zdCBjb2RlID0gem9uZSA8IDEwID8gYEVQU0c6MzIxOCR7em9uZX1gIDogYEVQU0c6MzIxJHs4MCArIHpvbmV9YDtcclxuICAgICAgICAgIHAuYWxpYXMgPSBgTVRNICR7em9uZX1gO1xyXG4gICAgICAgICAgcC5jb2RlID0gY29kZTtcclxuICAgICAgICAgIHAuem9uZSA9IGAke3pvbmV9YDtcclxuICAgICAgICAgIHAudHJhbnNsYXRlZFZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMubXRtJyxcclxuICAgICAgICAgICAgcFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcC5hbGlhcyA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5pbk10bVpvbmUgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmlucHV0UHJvai50cmFuc2xhdGVLZXkgPT09ICdtdG0nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRQcm9qID0gdGhpcy5wcm9qZWN0aW9ucyQudmFsdWVbMF07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChwLnRyYW5zbGF0ZUtleSA9PT0gJ3V0bScpIHtcclxuICAgICAgICBjb25zdCB6b25lID0gem9uZVV0bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICAgICAgY29uc3QgY29kZSA9IGBFUFNHOjMyNiR7em9uZX1gO1xyXG4gICAgICAgIHAuYWxpYXMgPSBgVVRNICR7em9uZX1gO1xyXG4gICAgICAgIHAuY29kZSA9IGNvZGU7XHJcbiAgICAgICAgcC56b25lID0gYCR7em9uZX1gO1xyXG4gICAgICAgIHAudHJhbnNsYXRlZFZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLnV0bScsXHJcbiAgICAgICAgICBwXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBtb2RpZmllZFByb2ogPSBtb2RpZmllZFByb2ouZmlsdGVyKChwKSA9PiBwLmFsaWFzICE9PSAnJyk7XHJcbiAgICB0aGlzLnByb2plY3Rpb25zJC5uZXh0KG1vZGlmaWVkUHJvaik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBsaXN0IG9mIGN1cnJlbnRzIHByb2plY3Rpb25zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb21wdXRlUHJvamVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMgPSBjb21wdXRlUHJvamVjdGlvbnNDb25zdHJhaW50cyhcclxuICAgICAgdGhpcy5wcm9qZWN0aW9uc0xpbWl0YXRpb25zXHJcbiAgICApO1xyXG4gICAgY29uc3QgcHJvamVjdGlvbnM6IElucHV0UHJvamVjdGlvbnNbXSA9IFtdO1xyXG5cclxuICAgIGlmICghdGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2opIHtcclxuICAgICAgdGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2ogPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIoXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvai5jb2RlXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdHJhbnNsYXRlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gICAgaWYgKHRoaXMucHJvamVjdGlvbnNDb25zdHJhaW50cy53Z3M4NCkge1xyXG4gICAgICBwcm9qZWN0aW9ucy5wdXNoKHtcclxuICAgICAgICB0cmFuc2xhdGVkVmFsdWU6IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy53Z3M4NCcsXHJcbiAgICAgICAgICB7IGNvZGU6ICdFUFNHOjQzMjYnIH1cclxuICAgICAgICApLFxyXG4gICAgICAgIHRyYW5zbGF0ZUtleTogJ3dnczg0JyxcclxuICAgICAgICBhbGlhczogJ1dHUzg0JyxcclxuICAgICAgICBjb2RlOiAnRVBTRzo0MzI2JyxcclxuICAgICAgICB6b25lOiAnJyxcclxuICAgICAgICBkZWY6IHVuZGVmaW5lZCxcclxuICAgICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcm9qZWN0aW9uc0NvbnN0cmFpbnRzLm5hZDgzKSB7XHJcbiAgICAgIHByb2plY3Rpb25zLnB1c2goe1xyXG4gICAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLm5hZDgzJyxcclxuICAgICAgICAgIHsgY29kZTogJ0VQU0c6NDI2OScgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgdHJhbnNsYXRlS2V5OiAnbmFkODMnLFxyXG4gICAgICAgIGFsaWFzOiAnTkFEODMnLFxyXG4gICAgICAgIGNvZGU6ICdFUFNHOjQyNjknLFxyXG4gICAgICAgIHpvbmU6ICcnLFxyXG4gICAgICAgIGRlZjogdW5kZWZpbmVkLFxyXG4gICAgICAgIGV4dGVudDogdW5kZWZpbmVkXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMud2ViTWVyY2F0b3IpIHtcclxuICAgICAgcHJvamVjdGlvbnMucHVzaCh7XHJcbiAgICAgICAgdHJhbnNsYXRlZFZhbHVlOiB0cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMud2ViTWVyY2F0b3InLFxyXG4gICAgICAgICAgeyBjb2RlOiAnRVBTRzozODU3JyB9XHJcbiAgICAgICAgKSxcclxuICAgICAgICB0cmFuc2xhdGVLZXk6ICd3ZWJNZXJjYXRvcicsXHJcbiAgICAgICAgYWxpYXM6ICdXZWIgTWVyY2F0b3InLFxyXG4gICAgICAgIGNvZGU6ICdFUFNHOjM4NTcnLFxyXG4gICAgICAgIHpvbmU6ICcnLFxyXG4gICAgICAgIGRlZjogdW5kZWZpbmVkLFxyXG4gICAgICAgIGV4dGVudDogdW5kZWZpbmVkXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucHJvamVjdGlvbnNDb25zdHJhaW50cy5tdG0pIHtcclxuICAgICAgLy8gUXVlYmVjXHJcbiAgICAgIGNvbnN0IHpvbmUgPSB6b25lTXRtKHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qWzBdKTtcclxuICAgICAgaWYgKHpvbmUpIHtcclxuICAgICAgICB0aGlzLmluTXRtWm9uZSA9IHRydWU7XHJcbiAgICAgICAgY29uc3QgY29kZSA9IHpvbmUgPCAxMCA/IGBFUFNHOjMyMTgke3pvbmV9YCA6IGBFUFNHOjMyMSR7ODAgKyB6b25lfWA7XHJcbiAgICAgICAgcHJvamVjdGlvbnMuc3BsaWNlKDMsIDAsIHtcclxuICAgICAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMubXRtJyxcclxuICAgICAgICAgICAgeyBjb2RlLCB6b25lIH1cclxuICAgICAgICAgICksXHJcbiAgICAgICAgICB0cmFuc2xhdGVLZXk6ICdtdG0nLFxyXG4gICAgICAgICAgYWxpYXM6IGBNVE0gJHt6b25lfWAsXHJcbiAgICAgICAgICBjb2RlLFxyXG4gICAgICAgICAgem9uZTogYCR7em9uZX1gLFxyXG4gICAgICAgICAgZGVmOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaW5NdG1ab25lID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMudXRtKSB7XHJcbiAgICAgIGNvbnN0IG9yZGVyID0gdGhpcy5pbk10bVpvbmUgPyA0IDogMztcclxuICAgICAgY29uc3Qgem9uZSA9IHpvbmVVdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICBjb25zdCBjb2RlID0gem9uZSA8IDEwID8gYEVQU0c6MzI2MCR7em9uZX1gIDogYEVQU0c6MzI2JHt6b25lfWA7XHJcbiAgICAgIHByb2plY3Rpb25zLnNwbGljZShvcmRlciwgMCwge1xyXG4gICAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLnByb2plY3Rpb25zLnV0bScsXHJcbiAgICAgICAgICB7IGNvZGUsIHpvbmUgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgdHJhbnNsYXRlS2V5OiAndXRtJyxcclxuICAgICAgICBhbGlhczogYFVUTSAke3pvbmV9YCxcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIHpvbmU6IGAke3pvbmV9YCxcclxuICAgICAgICBkZWY6IHVuZGVmaW5lZCxcclxuICAgICAgICBleHRlbnQ6IHVuZGVmaW5lZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGxldCBjb25maWdQcm9qZWN0aW9uOiBJbnB1dFByb2plY3Rpb25zW10gPSBbXTtcclxuICAgIGlmICh0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMucHJvakZyb21Db25maWcpIHtcclxuICAgICAgY29uZmlnUHJvamVjdGlvbiA9ICh0aGlzLmNvbmZpZy5nZXRDb25maWcoJ3Byb2plY3Rpb25zJykgfHxcclxuICAgICAgICBbXSkgYXMgSW5wdXRQcm9qZWN0aW9uc1tdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucHJvamVjdGlvbnMkLm5leHQoY29uZmlnUHJvamVjdGlvbi5jb25jYXQocHJvamVjdGlvbnMpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFB1c2ggdGhlIE1UTSBpbiB0aGUgYXJyYXkgb2Ygc3lzdGVtZSBvZiBjb29yZGluYXRlc1xyXG4gICAqIEBwYXJhbSBwcm9qZWN0aW9ucyBBcnJheSBvZiB0aGUgSW5wdXRQcm9qZWN0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcHVzaE10bShwcm9qZWN0aW9uczogQXJyYXk8SW5wdXRQcm9qZWN0aW9ucz4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnByb2plY3Rpb25zQ29uc3RyYWludHMubXRtKSB7XHJcbiAgICAgIGNvbnN0IHpvbmUgPSB6b25lTXRtKHRoaXMuY3VycmVudENlbnRlckRlZmF1bHRQcm9qWzBdKTtcclxuICAgICAgY29uc3QgY29kZSA9IHpvbmUgPCAxMCA/IGBFUFNHOjMyMTgke3pvbmV9YCA6IGBFUFNHOjMyMSR7ODAgKyB6b25lfWA7XHJcbiAgICAgIHByb2plY3Rpb25zLnNwbGljZSgzLCAwLCB7XHJcbiAgICAgICAgdHJhbnNsYXRlZFZhbHVlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0ucHJvamVjdGlvbnMubXRtJyxcclxuICAgICAgICAgIHsgY29kZSwgem9uZSB9XHJcbiAgICAgICAgKSxcclxuICAgICAgICB0cmFuc2xhdGVLZXk6ICdtdG0nLFxyXG4gICAgICAgIGFsaWFzOiBgTVRNICR7em9uZX1gLFxyXG4gICAgICAgIGNvZGUsXHJcbiAgICAgICAgem9uZTogYCR7em9uZX1gLFxyXG4gICAgICAgIGRlZjogdW5kZWZpbmVkLFxyXG4gICAgICAgIGV4dGVudDogdW5kZWZpbmVkXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgbGlzdCBvZiBzeXN0ZW1zIG9mIGNvb3JkaW5hdGVzIGZvciB0ZXJyaXRvcnkgb2YgUXVlYmVjXHJcbiAgICogcHVzaCBNVE0gYW5kIFVUTSBpbiB0aGUgQXJyYXlcclxuICAgKi9cclxuICBwcml2YXRlIGJhY2sycXVlYmVjKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJvamVjdGlvbnMgPSB0aGlzLnByb2plY3Rpb25zJC52YWx1ZTtcclxuICAgIHRoaXMucHVzaE10bShwcm9qZWN0aW9ucyk7XHJcbiAgICB0aGlzLmluTXRtWm9uZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIG51bWJlcnMgb2YgdGhlIHpvbmVzIHdoZW4gYXBwbGljYXRpb24gaXMgcmVzdGFydGVkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVab25lTXRtVXRtKCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRQcm9qLnRyYW5zbGF0ZUtleSA9PT0gJ210bScpIHtcclxuICAgICAgY29uc3Qgem9uZSA9IHpvbmVNdG0odGhpcy5jdXJyZW50Q2VudGVyRGVmYXVsdFByb2pbMF0pO1xyXG4gICAgICB0aGlzLmlucHV0UHJvai5hbGlhcyA9IGBNVE0gJHt6b25lfWA7XHJcbiAgICAgIGNvbnN0IGNvZGUgPSB6b25lIDwgMTAgPyBgRVBTRzozMjE4JHt6b25lfWAgOiBgRVBTRzozMjEkezgwICsgem9uZX1gO1xyXG4gICAgICB0aGlzLmlucHV0UHJvai5jb2RlID0gY29kZTtcclxuICAgICAgdGhpcy5pbnB1dFByb2ouem9uZSA9IGAke3pvbmV9YDtcclxuICAgICAgdGhpcy5pbnB1dFByb2oudHJhbnNsYXRlZFZhbHVlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy5tdG0nLFxyXG4gICAgICAgIHsgY29kZSwgem9uZSB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbnB1dFByb2oudHJhbnNsYXRlS2V5ID09PSAndXRtJykge1xyXG4gICAgICBjb25zdCB6b25lID0gem9uZVV0bSh0aGlzLmN1cnJlbnRDZW50ZXJEZWZhdWx0UHJvalswXSk7XHJcbiAgICAgIHRoaXMuaW5wdXRQcm9qLmFsaWFzID0gYFVUTSAke3pvbmV9YDtcclxuICAgICAgY29uc3QgY29kZSA9IHpvbmUgPCAxMCA/IGBFUFNHOjMyNjAke3pvbmV9YCA6IGBFUFNHOjMyNiR7em9uZX1gO1xyXG4gICAgICB0aGlzLmlucHV0UHJvai5jb2RlID0gY29kZTtcclxuICAgICAgdGhpcy5pbnB1dFByb2ouem9uZSA9IGAke3pvbmV9YDtcclxuICAgICAgdGhpcy5pbnB1dFByb2oudHJhbnNsYXRlZFZhbHVlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5wcm9qZWN0aW9ucy51dG0nLFxyXG4gICAgICAgIHsgY29kZSwgem9uZSB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wdXRlIHRoZSBwb3NpdGlvbiBvZiBhIGN1cnJlbnQgcHJvamVjdGlvbiBpbiBhIGxpc3QuIDAgaWYgdGhlIHByb2plY3Rpb24gaXMgbm90IGluIHRoZSBsaXN0XHJcbiAgICogQHBhcmFtIHRyYW5zbGF0ZUtleSBzdHJpbmcsIHRyYW5zbGF0ZSBrZXkgb2YgYSBwcm9qZWN0aW9uXHJcbiAgICogQHJldHVybnMgbnVtZXJpYywgcG9zaXRpb24gb2YgYW4gZWxlbWVudCBpbiB0aGUgYXJyYXlcclxuICAgKi9cclxuICBwb3NpdGlvbkluTGlzdCh0ZW1wSW5wdXRQcm9qOiBJbnB1dFByb2plY3Rpb25zKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHRrID0gdGVtcElucHV0UHJvai50cmFuc2xhdGVLZXk7XHJcbiAgICBjb25zdCBhbGlhcyA9IHRlbXBJbnB1dFByb2ouYWxpYXM7XHJcbiAgICBsZXQgcG9zaXRpb247IC8vID0gdW5kZWZpbmVkO1xyXG4gICAgbGV0IGl0ZXIgPSAwO1xyXG4gICAgdGhpcy5wcm9qZWN0aW9ucyQudmFsdWUubWFwKChwcm9qZWN0aW9uKSA9PiB7XHJcbiAgICAgIGlmICh0aykge1xyXG4gICAgICAgIGlmICh0ayA9PT0gcHJvamVjdGlvbi50cmFuc2xhdGVLZXkpIHtcclxuICAgICAgICAgIHBvc2l0aW9uID0gaXRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoYWxpYXMgPT09IHByb2plY3Rpb24uYWxpYXMpIHtcclxuICAgICAgICBwb3NpdGlvbiA9IGl0ZXI7XHJcbiAgICAgIH1cclxuICAgICAgaXRlcisrO1xyXG4gICAgfSk7XHJcbiAgICBwb3NpdGlvbiA9IHBvc2l0aW9uID8gcG9zaXRpb24gOiAwO1xyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIHRoZSBsaXN0IG9mIHByb2plY3Rpb25zIGRlcGVuZGluZyBvbiB0aGUgcHJvamVjdGlvbnMgb2YgTGFtYmVydFxyXG4gICAqIEBwYXJhbSBjb29yZGluYXRlcyBBbiBhcnJheSBvZiBudW1iZXJzLCBsb25naXR1ZGUgYW5kIGxhdGl0dWRlXHJcbiAgICovXHJcbiAgY2hlY2tMYW1iZXJ0KGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdKSB7XHJcbiAgICBjb25zdCBsYW1iZXJ0UHJvamVjdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ3Byb2plY3Rpb25zJykgfHwgW107XHJcbiAgICBsYW1iZXJ0UHJvamVjdGlvbnMuZm9yRWFjaCgocHJvamVjdGlvbikgPT4ge1xyXG4gICAgICBsZXQgbW9kaWZpZWRQcm9qID0gdGhpcy5wcm9qZWN0aW9ucyQudmFsdWU7XHJcbiAgICAgIGNvbnN0IGV4dGVudCA9IHByb2plY3Rpb24uZXh0ZW50O1xyXG4gICAgICBjb25zdCBjb2RlID0gcHJvamVjdGlvbi5jb2RlLm1hdGNoKC9cXGQrLyk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRFeHRlbnRXR1MgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KFxyXG4gICAgICAgIGV4dGVudCxcclxuICAgICAgICBwcm9qZWN0aW9uLmNvZGUsXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvai5jb2RlXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBjb29yZGluYXRlc1swXSA8IGN1cnJlbnRFeHRlbnRXR1NbMF0gfHxcclxuICAgICAgICBjb29yZGluYXRlc1swXSA+IGN1cnJlbnRFeHRlbnRXR1NbMl0gfHxcclxuICAgICAgICBjb29yZGluYXRlc1sxXSA8IGN1cnJlbnRFeHRlbnRXR1NbMV0gfHxcclxuICAgICAgICBjb29yZGluYXRlc1sxXSA+IGN1cnJlbnRFeHRlbnRXR1NbM11cclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5pbkxhbWJlcnQyW2NvZGVdID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRQcm9qLmFsaWFzID09PSBwcm9qZWN0aW9uLmFsaWFzKSB7XHJcbiAgICAgICAgICB0aGlzLmlucHV0UHJvaiA9IHRoaXMucHJvamVjdGlvbnMkLnZhbHVlWzBdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtb2RpZmllZFByb2ogPSBtb2RpZmllZFByb2ouZmlsdGVyKChwKSA9PiBwLmFsaWFzICE9PSBwcm9qZWN0aW9uLmFsaWFzKTtcclxuICAgICAgICB0aGlzLnByb2plY3Rpb25zJC5uZXh0KG1vZGlmaWVkUHJvaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmluTGFtYmVydDJbY29kZV0pIHtcclxuICAgICAgICAgIHRoaXMucHJvamVjdGlvbnMkLm5leHQobW9kaWZpZWRQcm9qLmNvbmNhdChwcm9qZWN0aW9uKSk7XHJcbiAgICAgICAgICB0aGlzLmluTGFtYmVydDJbY29kZV0gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZHZhbmNlZC1jb29yZGluYXRlc19fY29vcmRpbmF0ZXMtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFkdmFuY2VkLWNvb3JkaW5hdGVzX19jb29yZGluYXRlcy1jb250YWluZXJfX2lubmVyXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ1bml0czsgZWxzZSBlbHNlQmxvY2tcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3tcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmxvbicgfCB0cmFuc2xhdGVcclxuICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgI3RleHRBcmVhXHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICByZWFkb25seVxyXG4gICAgICAgIHJvd3M9XCIxXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXHJcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmxvbidcclxuICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICBcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJjb29yZGluYXRlc1swXVwiXHJcbiAgICAgID48L3RleHRhcmVhPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgI3RleHRBcmVhXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIHJvd3M9XCIxXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5lc3QnXHJcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwiY29vcmRpbmF0ZXNbMF1cIlxyXG4gICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ1bml0czsgZWxzZSBlbHNlQmxvY2syXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5sYXQnIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICN0ZXh0QXJlYVxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICByb3dzPVwiMVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5sYXQnXHJcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbdmFsdWVdPVwiY29vcmRpbmF0ZXNbMV1cIlxyXG4gICAgICA+PC90ZXh0YXJlYT5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jazI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAjdGV4dEFyZWFcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgcm93cz1cIjFcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLm5vcmQnXHJcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwiY29vcmRpbmF0ZXNbMV1cIlxyXG4gICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5jb3B5J1xyXG4gICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgXCJcclxuICAgICAgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgYWR2YW5jZWQtY29vcmRpbmF0ZXNfX2NvcHktY29vcmRpbmF0ZXNcIlxyXG4gICAgICAoY2xpY2spPVwiY29weVRleHRUb0NsaXBib2FyZCgpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm0gYWR2YW5jZWQtY29vcmRpbmF0ZXNfX2Zvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhZHZhbmNlZC1jb29yZGluYXRlc19fY29vcmRpbmF0ZXMtY29udGFpbmVyX19pbm5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3tcclxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29vcmRTeXN0ZW0nXHJcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBbKHZhbHVlKV09XCJpbnB1dFByb2pcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvamVjdGlvbiBvZiBwcm9qZWN0aW9ucyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcm9qZWN0aW9uXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHByb2plY3Rpb24udHJhbnNsYXRlZFZhbHVlIHx8IHByb2plY3Rpb24uYWxpYXMgfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhZHZhbmNlZC1jb29yZGluYXRlc19fY29vcmRpbmF0ZXMtY29udGFpbmVyX19pbm5lclwiPlxyXG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwiY2VudGVyLXRvZ2dsZSBtYXQtdHlwb2dyYXBoeVwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2VudGVyXCJcclxuICAgICAgICBbbGFiZWxQb3NpdGlvbl09XCInYmVmb3JlJ1wiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJkaXNwbGF5Q2VudGVyKCRldmVudC5jaGVja2VkKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5jZW50ZXInXHJcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG5cclxuICA8cCBjbGFzcz1cImlnby16b29tIG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICB7e1xyXG4gICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLnpvb20nIHwgdHJhbnNsYXRlXHJcbiAgICB9fVxyXG4gICAge3sgbWFwLnZpZXdDb250cm9sbGVyLmdldFpvb20oKSB9fVxyXG4gIDwvcD5cclxuICA8cCBjbGFzcz1cImlnby16b29tIG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICB7e1xyXG4gICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLnNjYWxlJyB8IHRyYW5zbGF0ZVxyXG4gICAgfX1cclxuICAgIHt7IGZvcm1hdHRlZFNjYWxlJCB8IGFzeW5jIH19XHJcbiAgPC9wPlxyXG4gIDxwIGNsYXNzPVwiaWdvLXpvb20gbWF0LXR5cG9ncmFwaHlcIj5cclxuICAgIHt7XHJcbiAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtY29vcmRpbmF0ZXMucmVzb2x1dGlvbidcclxuICAgICAgICB8IHRyYW5zbGF0ZVxyXG4gICAgfX1cclxuICAgIHt7IG1hcC52aWV3Q29udHJvbGxlci5nZXRSZXNvbHV0aW9uKCkgfCBudW1iZXI6ICcxLjAtMCcgfX1cclxuICA8L3A+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -27,51 +27,8 @@ export let AdvancedMapToolComponent = class AdvancedMapToolComponent {
27
27
  toggleFollow(value) {
28
28
  this.mapState.map.geolocationController.followPosition = value;
29
29
  }
30
- static ɵfac = function AdvancedMapToolComponent_Factory(t) { return new (t || AdvancedMapToolComponent)(i0.ɵɵdirectiveInject(i1.MapState)); };
31
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdvancedMapToolComponent, selectors: [["igo-advanced-map-tool"]], decls: 24, vars: 26, consts: [[1, "nameOfTool"], [1, "advanced-tool-line"], [1, "igo-input-container"], [1, "geolocation-slide-toggle-container", "mat-typography"], [1, "geolocation-option", "mat-typography", 3, "checked", "labelPosition", "change"], [1, "geolocation-option", "mat-typography", 3, "disabled", "labelPosition", "checked", "change"]], template: function AdvancedMapToolComponent_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "h4", 0);
33
- i0.ɵɵtext(1);
34
- i0.ɵɵpipe(2, "translate");
35
- i0.ɵɵelementEnd();
36
- i0.ɵɵelement(3, "igo-advanced-swipe")(4, "mat-divider", 1);
37
- i0.ɵɵelementStart(5, "h4", 0);
38
- i0.ɵɵtext(6);
39
- i0.ɵɵpipe(7, "translate");
40
- i0.ɵɵelementEnd();
41
- i0.ɵɵelement(8, "igo-advanced-coordinates")(9, "mat-divider", 1);
42
- i0.ɵɵelementStart(10, "h4", 0);
43
- i0.ɵɵtext(11);
44
- i0.ɵɵpipe(12, "translate");
45
- i0.ɵɵelementEnd();
46
- i0.ɵɵelementStart(13, "div", 2)(14, "div", 3)(15, "mat-slide-toggle", 4);
47
- i0.ɵɵlistener("change", function AdvancedMapToolComponent_Template_mat_slide_toggle_change_15_listener($event) { return ctx.toggleTracking($event.checked); });
48
- i0.ɵɵpipe(16, "async");
49
- i0.ɵɵtext(17);
50
- i0.ɵɵpipe(18, "translate");
51
- i0.ɵɵelementEnd();
52
- i0.ɵɵelementStart(19, "mat-slide-toggle", 5);
53
- i0.ɵɵlistener("change", function AdvancedMapToolComponent_Template_mat_slide_toggle_change_19_listener($event) { return ctx.toggleFollow($event.checked); });
54
- i0.ɵɵpipe(20, "async");
55
- i0.ɵɵpipe(21, "async");
56
- i0.ɵɵtext(22);
57
- i0.ɵɵpipe(23, "translate");
58
- i0.ɵɵelementEnd()()();
59
- } if (rf & 2) {
60
- i0.ɵɵadvance(1);
61
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 10, "igo.integration.advanced-map-tool.advanced-swipe.swipe-tool"), "\n");
62
- i0.ɵɵadvance(5);
63
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 12, "igo.integration.advanced-map-tool.advanced-coordinates.coordinates"), "\n");
64
- i0.ɵɵadvance(5);
65
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 14, "igo.integration.advanced-map-tool.geolocation.title"), "\n");
66
- i0.ɵɵadvance(4);
67
- i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(16, 16, ctx.tracking$))("labelPosition", "before");
68
- i0.ɵɵadvance(2);
69
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 18, "igo.integration.advanced-map-tool.geolocation.tracking"), " ");
70
- i0.ɵɵadvance(2);
71
- i0.ɵɵproperty("disabled", i0.ɵɵpipeBind1(20, 20, ctx.tracking$) !== true)("labelPosition", "before")("checked", i0.ɵɵpipeBind1(21, 22, ctx.followPosition$));
72
- i0.ɵɵadvance(3);
73
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 24, "igo.integration.advanced-map-tool.geolocation.follow"), " ");
74
- } }, dependencies: [i2.MatDivider, i3.MatSlideToggle, i4.AdvancedSwipeComponent, i5.AdvancedCoordinatesComponent, i6.AsyncPipe, i7.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}.geolocation-slide-toggle-container[_ngcontent-%COMP%]{margin-top:8px}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;padding:0 8px}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mdc-form-field{width:100%}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mdc-label{margin-left:0;width:calc(100% - 60px)}.geolocation-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}"] });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdvancedMapToolComponent, deps: [{ token: i1.MapState }], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AdvancedMapToolComponent, selector: "igo-advanced-map-tool", ngImport: i0, template: "<h4 class=\"nameOfTool\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\r\n }}\r\n</h4>\r\n<igo-advanced-swipe></igo-advanced-swipe>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n<h4 class=\"nameOfTool\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\r\n | translate\r\n }}\r\n</h4>\r\n<igo-advanced-coordinates></igo-advanced-coordinates>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n\r\n<h4 class=\"nameOfTool\">\r\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\r\n</h4>\r\n\r\n<div class=\"igo-input-container\">\r\n <div class=\"geolocation-slide-toggle-container\">\r\n <mat-slide-toggle\r\n class=\"geolocation-option\"\r\n [checked]=\"tracking$ | async\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"toggleTracking($event.checked)\"\r\n >\r\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n class=\"geolocation-option\"\r\n [disabled]=\"(tracking$ | async) !== true\"\r\n [labelPosition]=\"'before'\"\r\n [checked]=\"followPosition$ | async\"\r\n (change)=\"toggleFollow($event.checked)\"\r\n >\r\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;font-weight:700;font-size:small;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"], dependencies: [{ kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i4.AdvancedSwipeComponent, selector: "igo-advanced-swipe" }, { kind: "component", type: i5.AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
75
32
  };
76
33
  AdvancedMapToolComponent = __decorate([
77
34
  ToolComponent({
@@ -85,8 +42,8 @@ AdvancedMapToolComponent = __decorate([
85
42
  ,
86
43
  __metadata("design:paramtypes", [MapState])
87
44
  ], AdvancedMapToolComponent);
88
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedMapToolComponent, [{
89
- type: Component,
90
- args: [{ selector: 'igo-advanced-map-tool', template: "<h4 class=\"nameOfTool\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\r\n }}\r\n</h4>\r\n<igo-advanced-swipe></igo-advanced-swipe>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n<h4 class=\"nameOfTool\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\r\n | translate\r\n }}\r\n</h4>\r\n<igo-advanced-coordinates></igo-advanced-coordinates>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n\r\n<h4 class=\"nameOfTool\">\r\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\r\n</h4>\r\n\r\n<div class=\"igo-input-container\">\r\n <div class=\"geolocation-slide-toggle-container mat-typography\">\r\n <mat-slide-toggle\r\n class=\"geolocation-option mat-typography\"\r\n [checked]=\"tracking$ | async\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"toggleTracking($event.checked)\"\r\n >\r\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n class=\"geolocation-option mat-typography\"\r\n [disabled]=\"(tracking$ | async) !== true\"\r\n [labelPosition]=\"'before'\"\r\n [checked]=\"followPosition$ | async\"\r\n (change)=\"toggleFollow($event.checked)\"\r\n >\r\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n</div>\r\n", styles: [".nameOfTool{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{margin-top:8px}.geolocation-slide-toggle-container mat-slide-toggle{width:100%;padding:0 8px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}.geolocation-option{display:block;margin-right:10px;margin-bottom:15px}\n"] }]
91
- }], function () { return [{ type: i1.MapState }]; }, null); })();
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFlakMsV0FBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFRaEI7SUFQbkIsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUNELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFekMsY0FBYyxDQUFDLEtBQUs7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUNqRSxDQUFDO2tGQWhCVSx3QkFBd0I7NkRBQXhCLHdCQUF3QjtZQ25CckMsNkJBQXVCO1lBQ3JCLFlBR0Y7O1lBQUEsaUJBQUs7WUFDTCxxQ0FBeUMscUJBQUE7WUFFekMsNkJBQXVCO1lBQ3JCLFlBSUY7O1lBQUEsaUJBQUs7WUFDTCwyQ0FBcUQscUJBQUE7WUFHckQsOEJBQXVCO1lBQ3JCLGFBQ0Y7O1lBQUEsaUJBQUs7WUFFTCwrQkFBaUMsY0FBQSwyQkFBQTtZQU0zQix3SEFBVSxrQ0FBOEIsSUFBQzs7WUFFekMsYUFDRjs7WUFBQSxpQkFBbUI7WUFFbkIsNENBTUM7WUFEQyx3SEFBVSxnQ0FBNEIsSUFBQzs7O1lBRXZDLGFBQ0Y7O1lBQUEsaUJBQW1CLEVBQUEsRUFBQTs7WUF0Q3JCLGVBR0Y7WUFIRSxzSEFHRjtZQUlFLGVBSUY7WUFKRSw2SEFJRjtZQUtFLGVBQ0Y7WUFERSwrR0FDRjtZQU1NLGVBQTZCO1lBQTdCLCtEQUE2QiwyQkFBQTtZQUk3QixlQUNGO1lBREUsaUhBQ0Y7WUFJRSxlQUF5QztZQUF6Qyx5RUFBeUMsMkJBQUEsd0RBQUE7WUFLekMsZUFDRjtZQURFLCtHQUNGOzs7QURwQlMsd0JBQXdCO0lBYnBDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxtQ0FBbUM7UUFDMUMsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztJQUNGOztPQUVHOztxQ0FjNEIsUUFBUTtHQVIxQix3QkFBd0IsQ0FpQnBDO3VGQWpCWSx3QkFBd0I7Y0FMcEMsU0FBUzsyQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi9tYXAuc3RhdGUnO1xyXG5cclxuQFRvb2xDb21wb25lbnQoe1xyXG4gIG5hbWU6ICdhZHZhbmNlZE1hcCcsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuYWR2YW5jZWRNYXAnLFxyXG4gIGljb246ICd0b29sYm94J1xyXG59KVxyXG4vKipcclxuICogVG9vbCB0byBoYW5kbGUgdGhlIGFkdmFuY2VkIG1hcCB0b29sc1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWR2YW5jZWQtbWFwLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZhbmNlZC1tYXAtdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRNYXBUb29sQ29tcG9uZW50IHtcclxuICBnZXQgdHJhY2tpbmckKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlci50cmFja2luZyQ7XHJcbiAgfVxyXG4gIGdldCBmb2xsb3dQb3NpdGlvbiQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uJDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXBTdGF0ZTogTWFwU3RhdGUpIHt9XHJcblxyXG4gIHRvZ2dsZVRyYWNraW5nKHZhbHVlKSB7XHJcbiAgICB0aGlzLm1hcFN0YXRlLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIudHJhY2tpbmcgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZvbGxvdyh2YWx1ZSkge1xyXG4gICAgdGhpcy5tYXBTdGF0ZS5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID0gdmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxoNCBjbGFzcz1cIm5hbWVPZlRvb2xcIj5cclxuICB7e1xyXG4gICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1zd2lwZS5zd2lwZS10b29sJyB8IHRyYW5zbGF0ZVxyXG4gIH19XHJcbjwvaDQ+XHJcbjxpZ28tYWR2YW5jZWQtc3dpcGU+PC9pZ28tYWR2YW5jZWQtc3dpcGU+XHJcbjxtYXQtZGl2aWRlciBjbGFzcz1cImFkdmFuY2VkLXRvb2wtbGluZVwiPjwvbWF0LWRpdmlkZXI+XHJcbjxoNCBjbGFzcz1cIm5hbWVPZlRvb2xcIj5cclxuICB7e1xyXG4gICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5jb29yZGluYXRlcydcclxuICAgICAgfCB0cmFuc2xhdGVcclxuICB9fVxyXG48L2g0PlxyXG48aWdvLWFkdmFuY2VkLWNvb3JkaW5hdGVzPjwvaWdvLWFkdmFuY2VkLWNvb3JkaW5hdGVzPlxyXG48bWF0LWRpdmlkZXIgY2xhc3M9XCJhZHZhbmNlZC10b29sLWxpbmVcIj48L21hdC1kaXZpZGVyPlxyXG5cclxuPGg0IGNsYXNzPVwibmFtZU9mVG9vbFwiPlxyXG4gIHt7ICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuZ2VvbG9jYXRpb24udGl0bGUnIHwgdHJhbnNsYXRlIH19XHJcbjwvaDQ+XHJcblxyXG48ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJnZW9sb2NhdGlvbi1zbGlkZS10b2dnbGUtY29udGFpbmVyIG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICBjbGFzcz1cImdlb2xvY2F0aW9uLW9wdGlvbiBtYXQtdHlwb2dyYXBoeVwiXHJcbiAgICAgIFtjaGVja2VkXT1cInRyYWNraW5nJCB8IGFzeW5jXCJcclxuICAgICAgW2xhYmVsUG9zaXRpb25dPVwiJ2JlZm9yZSdcIlxyXG4gICAgICAoY2hhbmdlKT1cInRvZ2dsZVRyYWNraW5nKCRldmVudC5jaGVja2VkKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuZ2VvbG9jYXRpb24udHJhY2tpbmcnIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcblxyXG4gICAgPG1hdC1zbGlkZS10b2dnbGVcclxuICAgICAgY2xhc3M9XCJnZW9sb2NhdGlvbi1vcHRpb24gbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiKHRyYWNraW5nJCB8IGFzeW5jKSAhPT0gdHJ1ZVwiXHJcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cIidiZWZvcmUnXCJcclxuICAgICAgW2NoZWNrZWRdPVwiZm9sbG93UG9zaXRpb24kIHwgYXN5bmNcIlxyXG4gICAgICAoY2hhbmdlKT1cInRvZ2dsZUZvbGxvdygkZXZlbnQuY2hlY2tlZClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmdlb2xvY2F0aW9uLmZvbGxvdycgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdvancedMapToolComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'igo-advanced-map-tool', template: "<h4 class=\"nameOfTool\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\r\n }}\r\n</h4>\r\n<igo-advanced-swipe></igo-advanced-swipe>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n<h4 class=\"nameOfTool\">\r\n {{\r\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\r\n | translate\r\n }}\r\n</h4>\r\n<igo-advanced-coordinates></igo-advanced-coordinates>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n\r\n<h4 class=\"nameOfTool\">\r\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\r\n</h4>\r\n\r\n<div class=\"igo-input-container\">\r\n <div class=\"geolocation-slide-toggle-container\">\r\n <mat-slide-toggle\r\n class=\"geolocation-option\"\r\n [checked]=\"tracking$ | async\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"toggleTracking($event.checked)\"\r\n >\r\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n class=\"geolocation-option\"\r\n [disabled]=\"(tracking$ | async) !== true\"\r\n [labelPosition]=\"'before'\"\r\n [checked]=\"followPosition$ | async\"\r\n (change)=\"toggleFollow($event.checked)\"\r\n >\r\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;font-weight:700;font-size:small;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"] }]
48
+ }], ctorParameters: function () { return [{ type: i1.MapState }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFlakMsV0FBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFRaEI7SUFQbkIsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUNELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFekMsY0FBYyxDQUFDLEtBQUs7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUNqRSxDQUFDO3dHQWhCVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw2RENuQnJDLCs1Q0EwQ0E7O0FEdkJhLHdCQUF3QjtJQWJwQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsbUNBQW1DO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7SUFDRjs7T0FFRzs7cUNBYzRCLFFBQVE7R0FSMUIsd0JBQXdCLENBaUJwQzs0RkFqQlksd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uL21hcC5zdGF0ZSc7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FkdmFuY2VkTWFwJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5hZHZhbmNlZE1hcCcsXHJcbiAgaWNvbjogJ3Rvb2xib3gnXHJcbn0pXHJcbi8qKlxyXG4gKiBUb29sIHRvIGhhbmRsZSB0aGUgYWR2YW5jZWQgbWFwIHRvb2xzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hZHZhbmNlZC1tYXAtdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLW1hcC10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1tYXAtdG9vbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZE1hcFRvb2xDb21wb25lbnQge1xyXG4gIGdldCB0cmFja2luZyQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLnRyYWNraW5nJDtcclxuICB9XHJcbiAgZ2V0IGZvbGxvd1Bvc2l0aW9uJCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24kO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hcFN0YXRlOiBNYXBTdGF0ZSkge31cclxuXHJcbiAgdG9nZ2xlVHJhY2tpbmcodmFsdWUpIHtcclxuICAgIHRoaXMubWFwU3RhdGUubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlci50cmFja2luZyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRm9sbG93KHZhbHVlKSB7XHJcbiAgICB0aGlzLm1hcFN0YXRlLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPSB2YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPGg0IGNsYXNzPVwibmFtZU9mVG9vbFwiPlxyXG4gIHt7XHJcbiAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLXN3aXBlLnN3aXBlLXRvb2wnIHwgdHJhbnNsYXRlXHJcbiAgfX1cclxuPC9oND5cclxuPGlnby1hZHZhbmNlZC1zd2lwZT48L2lnby1hZHZhbmNlZC1zd2lwZT5cclxuPG1hdC1kaXZpZGVyIGNsYXNzPVwiYWR2YW5jZWQtdG9vbC1saW5lXCI+PC9tYXQtZGl2aWRlcj5cclxuPGg0IGNsYXNzPVwibmFtZU9mVG9vbFwiPlxyXG4gIHt7XHJcbiAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLWNvb3JkaW5hdGVzLmNvb3JkaW5hdGVzJ1xyXG4gICAgICB8IHRyYW5zbGF0ZVxyXG4gIH19XHJcbjwvaDQ+XHJcbjxpZ28tYWR2YW5jZWQtY29vcmRpbmF0ZXM+PC9pZ28tYWR2YW5jZWQtY29vcmRpbmF0ZXM+XHJcbjxtYXQtZGl2aWRlciBjbGFzcz1cImFkdmFuY2VkLXRvb2wtbGluZVwiPjwvbWF0LWRpdmlkZXI+XHJcblxyXG48aDQgY2xhc3M9XCJuYW1lT2ZUb29sXCI+XHJcbiAge3sgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5nZW9sb2NhdGlvbi50aXRsZScgfCB0cmFuc2xhdGUgfX1cclxuPC9oND5cclxuXHJcbjxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImdlb2xvY2F0aW9uLXNsaWRlLXRvZ2dsZS1jb250YWluZXJcIj5cclxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICAgIGNsYXNzPVwiZ2VvbG9jYXRpb24tb3B0aW9uXCJcclxuICAgICAgW2NoZWNrZWRdPVwidHJhY2tpbmckIHwgYXN5bmNcIlxyXG4gICAgICBbbGFiZWxQb3NpdGlvbl09XCInYmVmb3JlJ1wiXHJcbiAgICAgIChjaGFuZ2UpPVwidG9nZ2xlVHJhY2tpbmcoJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgID5cclxuICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5nZW9sb2NhdGlvbi50cmFja2luZycgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuXHJcbiAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICBjbGFzcz1cImdlb2xvY2F0aW9uLW9wdGlvblwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIodHJhY2tpbmckIHwgYXN5bmMpICE9PSB0cnVlXCJcclxuICAgICAgW2xhYmVsUG9zaXRpb25dPVwiJ2JlZm9yZSdcIlxyXG4gICAgICBbY2hlY2tlZF09XCJmb2xsb3dQb3NpdGlvbiQgfCBhc3luY1wiXHJcbiAgICAgIChjaGFuZ2UpPVwidG9nZ2xlRm9sbG93KCRldmVudC5jaGVja2VkKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuZ2VvbG9jYXRpb24uZm9sbG93JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19