@igo2/geo 1.13.2 → 1.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +2 -1
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +55 -0
- package/esm2020/lib/draw/draw/draw.component.mjs +417 -173
- package/esm2020/lib/draw/draw/draw.module.mjs +4 -3
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +12 -10
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +510 -203
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +496 -203
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -0
- package/lib/draw/draw/draw.component.d.ts +38 -10
- package/lib/draw/draw/draw.module.d.ts +22 -21
- package/lib/draw/shared/draw.interface.d.ts +6 -0
- package/lib/feature/feature-details/feature-details.component.d.ts +2 -3
- package/lib/import-export/shared/import.interface.d.ts +1 -0
- package/package.json +4 -4
|
@@ -19,6 +19,7 @@ import { DrawComponent } from './draw.component';
|
|
|
19
19
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
20
20
|
import { DrawPopupComponent } from './draw-popup.component';
|
|
21
21
|
import { DrawShorcutsComponent } from './draw-shorcuts.component';
|
|
22
|
+
import { DrawLayerPopupComponent } from './draw-layer-popup.component';
|
|
22
23
|
import { BrowserModule } from '@angular/platform-browser';
|
|
23
24
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
24
25
|
import * as i0 from "@angular/core";
|
|
@@ -76,11 +77,11 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
|
|
|
76
77
|
BrowserModule,
|
|
77
78
|
BrowserAnimationsModule
|
|
78
79
|
],
|
|
79
|
-
declarations: [DrawComponent, DrawPopupComponent, DrawShorcutsComponent],
|
|
80
|
+
declarations: [DrawComponent, DrawPopupComponent, DrawLayerPopupComponent, DrawShorcutsComponent],
|
|
80
81
|
exports: [DrawComponent]
|
|
81
82
|
}]
|
|
82
83
|
}], null, null); })();
|
|
83
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoDrawModule, { declarations: [DrawComponent, DrawPopupComponent, DrawShorcutsComponent], imports: [FormsModule,
|
|
84
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoDrawModule, { declarations: [DrawComponent, DrawPopupComponent, DrawLayerPopupComponent, DrawShorcutsComponent], imports: [FormsModule,
|
|
84
85
|
ReactiveFormsModule,
|
|
85
86
|
CommonModule,
|
|
86
87
|
MatButtonModule,
|
|
@@ -101,4 +102,4 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
|
|
|
101
102
|
ColorPickerModule,
|
|
102
103
|
BrowserModule,
|
|
103
104
|
BrowserAnimationsModule], exports: [DrawComponent] }); })();
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRS9FOztHQUVHO0FBNEJILE1BQU0sT0FBTyxhQUFhOzswRUFBYixhQUFhOytEQUFiLGFBQWE7bUVBekJ0QixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLHVCQUF1Qjt1RkFLZCxhQUFhO2NBM0J6QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixnQkFBZ0I7b0JBQ2hCLGtCQUFrQjtvQkFDbEIsYUFBYTtvQkFDYixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtvQkFDakIsYUFBYTtvQkFDYix1QkFBdUI7aUJBQ3hCO2dCQUNELFlBQVksRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsQ0FBQztnQkFDakcsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQ3pCOzt3RkFDWSxhQUFhLG1CQUhULGFBQWEsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsYUF0QjlGLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsdUJBQXVCLGFBR2YsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yLXBpY2tlcic7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBJZ29FbnRpdHlUYWJsZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IERyYXdDb21wb25lbnQgfSBmcm9tICcuL2RyYXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERyYXdQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vZHJhdy1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmF3U2hvcmN1dHNDb21wb25lbnQgfSBmcm9tICcuL2RyYXctc2hvcmN1dHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJhd0xheWVyUG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RyYXctbGF5ZXItcG9wdXAuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCYWRnZU1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvRW50aXR5VGFibGVNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbRHJhd0NvbXBvbmVudCwgRHJhd1BvcHVwQ29tcG9uZW50LCBEcmF3TGF5ZXJQb3B1cENvbXBvbmVudCwgRHJhd1Nob3JjdXRzQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbRHJhd0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0RyYXdNb2R1bGUge31cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L3NoYXJlZC9kcmF3LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHsgRHJhd0NvbnRyb2wgfSBmcm9tICcuLi8uLi9nZW9tZXRyeS9zaGFyZWQvY29udHJvbHMvZHJhdyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEcmF3T3B0aW9ucyB7XHJcbiAgaWNvbnM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEcmF3IHtcclxuICBhcmVhPzogbnVtYmVyO1xyXG4gIGxlbmd0aD86IG51bWJlcjtcclxuICBsZW5ndGhzPzogbnVtYmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJhd2luZ1N0eWxlIHtcclxuICBmaWxsPzogc3RyaW5nO1xyXG4gIHN0cm9rZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aERyYXcgZXh0ZW5kcyBGZWF0dXJlPEZlYXR1cmVXaXRoRHJhd1Byb3BlcnRpZXM+IHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVXaXRoRHJhd1Byb3BlcnRpZXMge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgZHJhdzogc3RyaW5nO1xyXG4gIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gIGxhdGl0dWRlOiBudW1iZXI7XHJcbiAgcmFkOiBudW1iZXI7XHJcbiAgZm9udFN0eWxlOiBzdHJpbmc7XHJcbiAgZHJhd2luZ1N0eWxlOiBEcmF3aW5nU3R5bGU7XHJcbiAgb2Zmc2V0WDogbnVtYmVyO1xyXG4gIG9mZnNldFk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVEcmF3U3RyYXRlZ3lPcHRpb25zIHtcclxuICBtYXA6IElnb01hcDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdG9yZUFuZERyYXdDb250cm9sIHtcclxuICBzdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmVXaXRoRHJhdz47XHJcbiAgZHJhd0NvbnRyb2w6IERyYXdDb250cm9sO1xyXG59XHJcbiJdfQ==
|
|
@@ -156,13 +156,12 @@ function FeatureDetailsComponent_iframe_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
156
156
|
i0.ɵɵproperty("srcdoc", ctx_r1.htmlSanitizer(ctx_r1.feature.properties), i0.ɵɵsanitizeHtml)("src", ctx_r1.urlSanitizer(ctx_r1.feature.properties.url), i0.ɵɵsanitizeResourceUrl);
|
|
157
157
|
} }
|
|
158
158
|
export class FeatureDetailsComponent {
|
|
159
|
-
constructor(http, cdRef, sanitizer, networkService, messageService,
|
|
159
|
+
constructor(http, cdRef, sanitizer, networkService, messageService, configService) {
|
|
160
160
|
this.http = http;
|
|
161
161
|
this.cdRef = cdRef;
|
|
162
162
|
this.sanitizer = sanitizer;
|
|
163
163
|
this.networkService = networkService;
|
|
164
164
|
this.messageService = messageService;
|
|
165
|
-
this.languageService = languageService;
|
|
166
165
|
this.configService = configService;
|
|
167
166
|
this.unsubscribe$ = new Subject();
|
|
168
167
|
this.ready = false;
|
|
@@ -247,14 +246,17 @@ export class FeatureDetailsComponent {
|
|
|
247
246
|
window.open(fileUrl, '_blank');
|
|
248
247
|
this.cdRef.detectChanges();
|
|
249
248
|
}, (error) => {
|
|
250
|
-
|
|
251
|
-
const title = translate.instant('igo.geo.targetHtmlUrlUnauthorizedTitle');
|
|
252
|
-
const message = translate.instant('igo.geo.targetHtmlUrlUnauthorized');
|
|
253
|
-
this.messageService.error(message, title);
|
|
249
|
+
this.messageService.error('igo.geo.targetHtmlUrlUnauthorized', 'igo.geo.targetHtmlUrlUnauthorizedTitle');
|
|
254
250
|
});
|
|
255
251
|
}
|
|
256
252
|
else {
|
|
257
|
-
|
|
253
|
+
let url = value;
|
|
254
|
+
if (this.isEmbeddedLink(value)) {
|
|
255
|
+
var div = document.createElement('div');
|
|
256
|
+
div.innerHTML = value;
|
|
257
|
+
url = div.children[0].getAttribute('href');
|
|
258
|
+
}
|
|
259
|
+
window.open(url, '_blank');
|
|
258
260
|
}
|
|
259
261
|
}
|
|
260
262
|
isUrl(value) {
|
|
@@ -373,7 +375,7 @@ export class FeatureDetailsComponent {
|
|
|
373
375
|
}
|
|
374
376
|
}
|
|
375
377
|
}
|
|
376
|
-
FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.NetworkService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i3.
|
|
378
|
+
FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.NetworkService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i3.ConfigService)); };
|
|
377
379
|
FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureDetailsComponent, selectors: [["igo-feature-details"]], inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, decls: 2, vars: 2, consts: [["class", "igo-striped mat-typography", 4, "ngIf"], [3, "srcdoc", "src", 4, "ngIf"], [1, "igo-striped", "mat-typography"], [4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "keyValue", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href"], ["mat-icon-button", "", 1, "copyClipboard", 3, "click"], ["svgIcon", "content-copy"], ["id", "keyValue"], [3, "innerHTML"], [3, "ngStyle", "click"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["igoImageError", "", "width", "225", "height", "auto", 3, "src"], [3, "srcdoc", "src"]], template: function FeatureDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
378
380
|
i0.ɵɵtemplate(0, FeatureDetailsComponent_table_0_Template, 4, 3, "table", 0);
|
|
379
381
|
i0.ɵɵtemplate(1, FeatureDetailsComponent_iframe_1_Template, 1, 2, "iframe", 1);
|
|
@@ -385,7 +387,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
385
387
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
|
|
386
388
|
type: Component,
|
|
387
389
|
args: [{ selector: 'igo-feature-details', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"igo-striped mat-typography\" *ngIf=\"ready && feature && isObject(feature.properties) && feature.properties.target !== 'iframe'\">\r\n <tbody>\r\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\r\n\r\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\r\n <mat-icon mat-list-avatar svgIcon=\"{{icon}}\"></mat-icon>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\r\n <a href=\"{{property.value}}\" target='_blank' rel=\"noopener noreferrer\"> {{ 'igo.geo.targetHtmlUrl' | translate }} {{title}}</a>\r\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </td>\r\n\r\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\r\n {{property.key}}\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && !isUrl(property.value) && !isEmbeddedLink(property.value)\" [innerHTML]=\"property.value\">\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && isEmbeddedLink(property.value)\">\r\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ getEmbeddedLinkText(property.value) }}</u>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && (isDoc(property.value) || isUrl(property.value)) && !isImg(property.value)\">\r\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ 'igo.geo.targetHtmlUrl' | translate }}</u>\r\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && isUrl(property.value) && isImg(property.value)\">\r\n <a href=\"{{property.value}}\" target='_blank' (click)=\"openSecureUrl(property.value)\" rel=\"noopener noreferrer\">\r\n <img igoImageError src=\"{{(property.value | secureImage) |\u00A0async}}\" width=\"225\" height=\"auto\">\r\n </a>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && isObject(property.value)\" [innerHTML]=\"property.value | json\">\r\n </td>\r\n\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<iframe *ngIf=\"isHtmlDisplay()\" [srcdoc]=\"htmlSanitizer(feature.properties)\" [src]=\"urlSanitizer(feature.properties.url)\"></iframe>\r\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"] }]
|
|
388
|
-
}], function () { return [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.NetworkService }, { type: i3.MessageService }, { type: i3.
|
|
390
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.NetworkService }, { type: i3.MessageService }, { type: i3.ConfigService }]; }, { source: [{
|
|
389
391
|
type: Input
|
|
390
392
|
}], map: [{
|
|
391
393
|
type: Input
|
|
@@ -400,4 +402,4 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
400
402
|
}], htmlDisplayEvent: [{
|
|
401
403
|
type: Output
|
|
402
404
|
}] }); })();
|
|
403
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU83RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7O0lDcEJsQywwQkFBNkU7SUFDM0UsOEJBQXdEO0lBQzFELGlCQUFLOzs7SUFEdUIsZUFBa0I7SUFBbEIsZ0RBQWtCOzs7O0lBRzlDLDBCQUE2RSxXQUFBO0lBQ0gsWUFBbUQ7O0lBQUEsaUJBQUk7SUFDL0gsaUNBQTRGO0lBQTlDLHFPQUFTLGVBQUEsOENBQW1DLENBQUEsSUFBQztJQUN6RiwrQkFBNEM7SUFDOUMsaUJBQVMsRUFBQTs7OztJQUhOLGVBQXlCO0lBQXpCLHFFQUF5QjtJQUE0QyxlQUFtRDtJQUFuRCxnR0FBbUQ7OztJQU03SCw4QkFBa0U7SUFDaEUsWUFDRjtJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lBREUsZ0RBQ0Y7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bnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgdXNlckFnZW50IH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSwgQ29ubmVjdGlvblN0YXRlLCBNZXNzYWdlU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUsIGdldEVudGl0eUljb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IFRvb2xib3ggfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGU6IENvbm5lY3Rpb25TdGF0ZTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc291cmNlKCk6IFNlYXJjaFNvdXJjZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xyXG4gIH1cclxuICBzZXQgc291cmNlKHZhbHVlOiBTZWFyY2hTb3VyY2UpIHtcclxuICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KCkgdG9vbGJveDogVG9vbGJveDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xyXG4gIH1cclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xyXG4gICAgdGhpcy5fZmVhdHVyZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNlbGVjdEZlYXR1cmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcclxuICBwcml2YXRlIF9zb3VyY2U6IFNlYXJjaFNvdXJjZTtcclxuXHJcbiAgQE91dHB1dCgpIHJvdXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdEZlYXR1cmUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGh0bWxEaXNwbGF5RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5mZWF0dXJlKSB8fCAnbGluayc7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoc3RhdGU6IENvbm5lY3Rpb25TdGF0ZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICB1cmxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaXNIdG1sRGlzcGxheSgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZlYXR1cmUgJiYgdGhpcy5pc09iamVjdCh0aGlzLmZlYXR1cmUucHJvcGVydGllcykgJiYgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnaWZyYW1lJykge1xyXG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdCh0cnVlKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGh0bWxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgaWYgKCF2YWx1ZS5ib2R5IHx8IHVzZXJBZ2VudC5nZXRCcm93c2VyTmFtZSgpID09PSAnSW50ZXJuZXQgRXhwbG9yZXInKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlZ2V4QmFzZSA9IC88YmFzZSBocmVmPVwiW1xcdzpcXC9cXC5dK1wiPi87XHJcbiAgICBpZiAoIXJlZ2V4QmFzZS50ZXN0KHZhbHVlLmJvZHkpKSB7XHJcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUudXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICAgICAgdmFsdWUuYm9keSA9IHZhbHVlLmJvZHkucmVwbGFjZSgnPGhlYWQ+JywgYDxoZWFkPjxiYXNlIGhyZWY9XCIke3VybC5vcmlnaW59XCI+YCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlLmJvZHkpO1xyXG4gIH1cclxuXHJcbiAgaXNPYmplY3QodmFsdWUpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgb3BlblNlY3VyZVVybCh2YWx1ZSkge1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgY29uc3QgcmVnZXhEZXBvdCA9IG5ldyBSZWdFeHAodGhpcy5jb25maWdTZXJ2aWNlPy5nZXRDb25maWcoJ2RlcG90LnVybCcpICsgJy4qPyg/PVwifCQpJyk7XHJcblxyXG4gICAgaWYgKHJlZ2V4RGVwb3QudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgdXJsID0gdmFsdWUubWF0Y2gocmVnZXhEZXBvdClbMF07XHJcblxyXG4gICAgICB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRvY09ySW1hZ2UpID0+IHtcclxuICAgICAgICBjb25zdCBmaWxlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChkb2NPckltYWdlKTtcclxuICAgICAgICB3aW5kb3cub3BlbihmaWxlVXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcjogRXJyb3IpID0+IHtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby50YXJnZXRIdG1sVXJsVW5hdXRob3JpemVkVGl0bGUnKTtcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8udGFyZ2V0SHRtbFVybFVuYXV0aG9yaXplZCcpO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHZhbHVlLCAnX2JsYW5rJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1VybCh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSAvXmh0dHBzPzpcXC9cXC8vO1xyXG4gICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0RvYyh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHRoaXMuaXNVcmwodmFsdWUpKSB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKHBkZnxkb2N4P3x4bHN4PykkLztcclxuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSW1nKHZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhqcGU/Z3xwbmd8Z2lmKSQvO1xyXG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNFbWJlZGRlZExpbmsodmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hSZWdleCA9IC88YS9nO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gobWF0Y2hSZWdleCkgfHwgW107XHJcbiAgICAgICAgY29uc3QgY291bnQgPSBtYXRjaC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGNvdW50ID09PSAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbiAgZ2V0RW1iZWRkZWRMaW5rVGV4dCh2YWx1ZSkge1xyXG4gICAgY29uc3QgcmVnZXggPSAvKD86PikuKj8oPz08fCQpLztcclxuICAgIGxldCB0ZXh0ID0gdmFsdWUubWF0Y2gocmVnZXgpWzBdIGFzIHN0cmluZztcclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLz4vZywgJycpO1xyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB7XHJcbiAgICBjb25zdCBhbGxvd2VkRmllbGRzQW5kQWxpYXMgPSBmZWF0dXJlLm1ldGEgPyBmZWF0dXJlLm1ldGEuYWxpYXMgOiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgICBsZXQgb2ZmbGluZUJ1dHRvblN0YXRlO1xyXG5cclxuICAgIGlmICh0aGlzLm1hcCkge1xyXG4gICAgICB0aGlzLm1hcC5vZmZsaW5lQnV0dG9uVG9nZ2xlJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XHJcbiAgICAgICAgb2ZmbGluZUJ1dHRvblN0YXRlID0gc3RhdGU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmZWF0dXJlLnByb3BlcnRpZXMgJiYgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlICYmIHRoaXMudG9vbGJveCAmJiAhdGhpcy50b29sYm94LmdldFRvb2woJ2RpcmVjdGlvbnMnKSkge1xyXG4gICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhbGxvd2VkRmllbGRzQW5kQWxpYXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMoYWxsb3dlZEZpZWxkc0FuZEFsaWFzKS5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgICBwcm9wZXJ0aWVzW2FsbG93ZWRGaWVsZHNBbmRBbGlhc1tmaWVsZF1dID0gZmVhdHVyZS5wcm9wZXJ0aWVzW2ZpZWxkXTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xyXG4gICAgfSBlbHNlIGlmIChvZmZsaW5lQnV0dG9uU3RhdGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoIW9mZmxpbmVCdXR0b25TdGF0ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XHJcbiAgICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGU7XHJcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goYXR0cmlidXRlID0+IHtcclxuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XHJcbiAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlO1xyXG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZSkge1xyXG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lLmZvckVhY2goYXR0cmlidXRlID0+IHtcclxuICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZlYXR1cmUucHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvcHkgdGhlIHVybCB0byBhIGNsaXBib2FyZFxyXG4gICAqL1xyXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KHZhbHVlKTtcclxuICAgIGlmIChzdWNjZXNzZnVsKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcygnaWdvLmdlby5xdWVyeS5saW5rLm1lc3NhZ2UnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHRhYmxlIGNsYXNzPVwiaWdvLXN0cmlwZWQgbWF0LXR5cG9ncmFwaHlcIiAqbmdJZj1cInJlYWR5ICYmIGZlYXR1cmUgJiYgaXNPYmplY3QoZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ICE9PSAnaWZyYW1lJ1wiPlxyXG4gIDx0Ym9keT5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgZmlsdGVyRmVhdHVyZVByb3BlcnRpZXMoZmVhdHVyZSkgfCBrZXl2YWx1ZVwiPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1hdmF0YXIgc3ZnSWNvbj1cInt7aWNvbn19XCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIj5cclxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj4ge3sgJ2lnby5nZW8udGFyZ2V0SHRtbFVybCcgfCB0cmFuc2xhdGUgfX0ge3t0aXRsZX19PC9hPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3B5Q2xpcGJvYXJkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkIGlkPVwia2V5VmFsdWVcIiAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgIHt7cHJvcGVydHkua2V5fX1cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiAhaXNPYmplY3QocHJvcGVydHkudmFsdWUpICYmICFpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiYgIWlzRW1iZWRkZWRMaW5rKHByb3BlcnR5LnZhbHVlKVwiIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWVcIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiBpc0VtYmVkZGVkTGluayhwcm9wZXJ0eS52YWx1ZSlcIj5cclxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7IGdldEVtYmVkZGVkTGlua1RleHQocHJvcGVydHkudmFsdWUpIH19PC91PlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgKGlzRG9jKHByb3BlcnR5LnZhbHVlKSB8fCBpc1VybChwcm9wZXJ0eS52YWx1ZSkpICYmICFpc0ltZyhwcm9wZXJ0eS52YWx1ZSlcIj5cclxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19PC91PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3B5Q2xpcGJvYXJkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgaXNVcmwocHJvcGVydHkudmFsdWUpICYmIGlzSW1nKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJ7e3Byb3BlcnR5LnZhbHVlfX1cIiB0YXJnZXQ9J19ibGFuaycgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxyXG4gICAgICAgICAgPGltZyBpZ29JbWFnZUVycm9yIHNyYz1cInt7KHByb3BlcnR5LnZhbHVlIHwgc2VjdXJlSW1hZ2UpIHzCoGFzeW5jfX1cIiB3aWR0aD1cIjIyNVwiIGhlaWdodD1cImF1dG9cIj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNPYmplY3QocHJvcGVydHkudmFsdWUpXCIgW2lubmVySFRNTF09XCJwcm9wZXJ0eS52YWx1ZSB8IGpzb25cIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcblxyXG48aWZyYW1lICpuZ0lmPVwiaXNIdG1sRGlzcGxheSgpXCIgW3NyY2RvY109XCJodG1sU2FuaXRpemVyKGZlYXR1cmUucHJvcGVydGllcylcIiBbc3JjXT1cInVybFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMudXJsKVwiPjwvaWZyYW1lPlxyXG4iXX0=
|
|
405
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU83RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7O0lDcEJsQywwQkFBNkU7SUFDM0UsOEJBQXdEO0lBQzFELGlCQUFLOzs7SUFEdUIsZUFBa0I7SUFBbEIsZ0RBQWtCOzs7O0lBRzlDLDBCQUE2RSxXQUFBO0lBQ0gsWUFBbUQ7O0lBQUEsaUJBQUk7SUFDL0gsaUNBQTRGO0lBQTlDLHFPQUFTLGVBQUEsOENBQW1DLENBQUEsSUFBQztJQUN6RiwrQkFBNEM7SUFDOUMsaUJBQVMsRUFBQTs7OztJQUhOLGVBQXlCO0lBQXpCLHFFQUF5QjtJQUE0QyxlQUFtRDtJQUFuRCxnR0FBbUQ7OztJQU03SCw4QkFBa0U7SUFDaEUsWUFDRjtJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lBREUsZ0RBQ0Y7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QXRCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyB1c2VyQWdlbnQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlLCBDb25uZWN0aW9uU3RhdGUsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUsIGdldEVudGl0eUljb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IFRvb2xib3ggfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGU6IENvbm5lY3Rpb25TdGF0ZTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc291cmNlKCk6IFNlYXJjaFNvdXJjZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xyXG4gIH1cclxuICBzZXQgc291cmNlKHZhbHVlOiBTZWFyY2hTb3VyY2UpIHtcclxuICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KCkgdG9vbGJveDogVG9vbGJveDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xyXG4gIH1cclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xyXG4gICAgdGhpcy5fZmVhdHVyZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNlbGVjdEZlYXR1cmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcclxuICBwcml2YXRlIF9zb3VyY2U6IFNlYXJjaFNvdXJjZTtcclxuXHJcbiAgQE91dHB1dCgpIHJvdXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdEZlYXR1cmUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGh0bWxEaXNwbGF5RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5mZWF0dXJlKSB8fCAnbGluayc7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm5ldHdvcmtTZXJ2aWNlLmN1cnJlbnRTdGF0ZSgpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKChzdGF0ZTogQ29ubmVjdGlvblN0YXRlKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHVybFNhbml0aXplcih2YWx1ZSk6IFNhZmVSZXNvdXJjZVVybCB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHZhbHVlKTtcclxuICB9XHJcblxyXG5cclxuICBpc0h0bWxEaXNwbGF5KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZmVhdHVyZSAmJiB0aGlzLmlzT2JqZWN0KHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiB0aGlzLmZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdpZnJhbWUnKSB7XHJcbiAgICAgIHRoaXMuaHRtbERpc3BsYXlFdmVudC5lbWl0KHRydWUpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaHRtbERpc3BsYXlFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaHRtbFNhbml0aXplcih2YWx1ZSk6IFNhZmVSZXNvdXJjZVVybCB7XHJcbiAgICBpZiAoIXZhbHVlLmJvZHkgfHwgdXNlckFnZW50LmdldEJyb3dzZXJOYW1lKCkgPT09ICdJbnRlcm5ldCBFeHBsb3JlcicpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVnZXhCYXNlID0gLzxiYXNlIGhyZWY9XCJbXFx3OlxcL1xcLl0rXCI+LztcclxuICAgIGlmICghcmVnZXhCYXNlLnRlc3QodmFsdWUuYm9keSkpIHtcclxuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh2YWx1ZS51cmwsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xyXG4gICAgICB2YWx1ZS5ib2R5ID0gdmFsdWUuYm9keS5yZXBsYWNlKCc8aGVhZD4nLCBgPGhlYWQ+PGJhc2UgaHJlZj1cIiR7dXJsLm9yaWdpbn1cIj5gKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUuYm9keSk7XHJcbiAgfVxyXG5cclxuICBpc09iamVjdCh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XHJcbiAgfVxyXG5cclxuICBvcGVuU2VjdXJlVXJsKHZhbHVlKSB7XHJcbiAgICBsZXQgdXJsOiBzdHJpbmc7XHJcbiAgICBjb25zdCByZWdleERlcG90ID0gbmV3IFJlZ0V4cCh0aGlzLmNvbmZpZ1NlcnZpY2U/LmdldENvbmZpZygnZGVwb3QudXJsJykgKyAnLio/KD89XCJ8JCknKTtcclxuXHJcbiAgICBpZiAocmVnZXhEZXBvdC50ZXN0KHZhbHVlKSkge1xyXG4gICAgICB1cmwgPSB2YWx1ZS5tYXRjaChyZWdleERlcG90KVswXTtcclxuXHJcbiAgICAgIHRoaXMuaHR0cC5nZXQodXJsLCB7XHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoZG9jT3JJbWFnZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpbGVVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGRvY09ySW1hZ2UpO1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGZpbGVVcmwsICdfYmxhbmsnKTtcclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgKGVycm9yOiBFcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZXJyb3IoJ2lnby5nZW8udGFyZ2V0SHRtbFVybFVuYXV0aG9yaXplZCcsICdpZ28uZ2VvLnRhcmdldEh0bWxVcmxVbmF1dGhvcml6ZWRUaXRsZScpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1cmwgPSB2YWx1ZTtcclxuICAgICAgaWYgKHRoaXMuaXNFbWJlZGRlZExpbmsodmFsdWUpKSB7XHJcbiAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGRpdi5pbm5lckhUTUwgPSB2YWx1ZTtcclxuICAgICAgICB1cmwgPSBkaXYuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdocmVmJyk7XHJcbiAgICAgIH1cclxuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1VybCh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSAvXmh0dHBzPzpcXC9cXC8vO1xyXG4gICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0RvYyh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHRoaXMuaXNVcmwodmFsdWUpKSB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKHBkZnxkb2N4P3x4bHN4PykkLztcclxuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSW1nKHZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhqcGU/Z3xwbmd8Z2lmKSQvO1xyXG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNFbWJlZGRlZExpbmsodmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hSZWdleCA9IC88YS9nO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gobWF0Y2hSZWdleCkgfHwgW107XHJcbiAgICAgICAgY29uc3QgY291bnQgPSBtYXRjaC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGNvdW50ID09PSAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbiAgZ2V0RW1iZWRkZWRMaW5rVGV4dCh2YWx1ZSkge1xyXG4gICAgY29uc3QgcmVnZXggPSAvKD86PikuKj8oPz08fCQpLztcclxuICAgIGxldCB0ZXh0ID0gdmFsdWUubWF0Y2gocmVnZXgpWzBdIGFzIHN0cmluZztcclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLz4vZywgJycpO1xyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB7XHJcbiAgICBjb25zdCBhbGxvd2VkRmllbGRzQW5kQWxpYXMgPSBmZWF0dXJlLm1ldGEgPyBmZWF0dXJlLm1ldGEuYWxpYXMgOiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgICBsZXQgb2ZmbGluZUJ1dHRvblN0YXRlO1xyXG5cclxuICAgIGlmICh0aGlzLm1hcCkge1xyXG4gICAgICB0aGlzLm1hcC5vZmZsaW5lQnV0dG9uVG9nZ2xlJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XHJcbiAgICAgICAgb2ZmbGluZUJ1dHRvblN0YXRlID0gc3RhdGU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmZWF0dXJlLnByb3BlcnRpZXMgJiYgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlICYmIHRoaXMudG9vbGJveCAmJiAhdGhpcy50b29sYm94LmdldFRvb2woJ2RpcmVjdGlvbnMnKSkge1xyXG4gICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhbGxvd2VkRmllbGRzQW5kQWxpYXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMoYWxsb3dlZEZpZWxkc0FuZEFsaWFzKS5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgICBwcm9wZXJ0aWVzW2FsbG93ZWRGaWVsZHNBbmRBbGlhc1tmaWVsZF1dID0gZmVhdHVyZS5wcm9wZXJ0aWVzW2ZpZWxkXTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xyXG4gICAgfSBlbHNlIGlmIChvZmZsaW5lQnV0dG9uU3RhdGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoIW9mZmxpbmVCdXR0b25TdGF0ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XHJcbiAgICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGU7XHJcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goYXR0cmlidXRlID0+IHtcclxuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XHJcbiAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlO1xyXG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZSkge1xyXG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lLmZvckVhY2goYXR0cmlidXRlID0+IHtcclxuICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZlYXR1cmUucHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvcHkgdGhlIHVybCB0byBhIGNsaXBib2FyZFxyXG4gICAqL1xyXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KHZhbHVlKTtcclxuICAgIGlmIChzdWNjZXNzZnVsKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcygnaWdvLmdlby5xdWVyeS5saW5rLm1lc3NhZ2UnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHRhYmxlIGNsYXNzPVwiaWdvLXN0cmlwZWQgbWF0LXR5cG9ncmFwaHlcIiAqbmdJZj1cInJlYWR5ICYmIGZlYXR1cmUgJiYgaXNPYmplY3QoZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ICE9PSAnaWZyYW1lJ1wiPlxyXG4gIDx0Ym9keT5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgZmlsdGVyRmVhdHVyZVByb3BlcnRpZXMoZmVhdHVyZSkgfCBrZXl2YWx1ZVwiPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1hdmF0YXIgc3ZnSWNvbj1cInt7aWNvbn19XCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIj5cclxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj4ge3sgJ2lnby5nZW8udGFyZ2V0SHRtbFVybCcgfCB0cmFuc2xhdGUgfX0ge3t0aXRsZX19PC9hPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3B5Q2xpcGJvYXJkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkIGlkPVwia2V5VmFsdWVcIiAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgIHt7cHJvcGVydHkua2V5fX1cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiAhaXNPYmplY3QocHJvcGVydHkudmFsdWUpICYmICFpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiYgIWlzRW1iZWRkZWRMaW5rKHByb3BlcnR5LnZhbHVlKVwiIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWVcIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiBpc0VtYmVkZGVkTGluayhwcm9wZXJ0eS52YWx1ZSlcIj5cclxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7IGdldEVtYmVkZGVkTGlua1RleHQocHJvcGVydHkudmFsdWUpIH19PC91PlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgKGlzRG9jKHByb3BlcnR5LnZhbHVlKSB8fCBpc1VybChwcm9wZXJ0eS52YWx1ZSkpICYmICFpc0ltZyhwcm9wZXJ0eS52YWx1ZSlcIj5cclxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19PC91PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3B5Q2xpcGJvYXJkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgaXNVcmwocHJvcGVydHkudmFsdWUpICYmIGlzSW1nKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJ7e3Byb3BlcnR5LnZhbHVlfX1cIiB0YXJnZXQ9J19ibGFuaycgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxyXG4gICAgICAgICAgPGltZyBpZ29JbWFnZUVycm9yIHNyYz1cInt7KHByb3BlcnR5LnZhbHVlIHwgc2VjdXJlSW1hZ2UpIHzCoGFzeW5jfX1cIiB3aWR0aD1cIjIyNVwiIGhlaWdodD1cImF1dG9cIj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNPYmplY3QocHJvcGVydHkudmFsdWUpXCIgW2lubmVySFRNTF09XCJwcm9wZXJ0eS52YWx1ZSB8IGpzb25cIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcblxyXG48aWZyYW1lICpuZ0lmPVwiaXNIdG1sRGlzcGxheSgpXCIgW3NyY2RvY109XCJodG1sU2FuaXRpemVyKGZlYXR1cmUucHJvcGVydGllcylcIiBbc3JjXT1cInVybFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMudXJsKVwiPjwvaWZyYW1lPlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0RXhwb3J0U2VydmljZU9wdGlvbnMge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGNsaWVudFNpZGVGaWxlU2l6ZU1heE1iPzogbnVtYmVyO1xyXG4gIGZvcmNlTmFtaW5nPzogYm9vbGVhbjtcclxuICBmb3JtYXRzPzogc3RyaW5nW107XHJcbiAgY29uZmlnRmlsZVRvR2VvREJTZXJ2aWNlPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|