@wizishop/wizi-block 15.0.82-beta → 15.0.83-beta
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/assets/images/components/SocialNetw_AllButtons.png +0 -0
- package/assets/images/components/en/Map_TxtForm.png +0 -0
- package/assets/images/components/en/Map_TxtLeft.png +0 -0
- package/assets/images/components/en/Map_TxtRight.png +0 -0
- package/assets/images/components/fr/Map_TxtForm.png +0 -0
- package/assets/images/components/fr/Map_TxtLeft.png +0 -0
- package/assets/images/components/fr/Map_TxtRight.png +0 -0
- package/assets/images/icons/Icon_ReseauxSociaux.svg +41 -1
- package/esm2020/lib/structures/map/left-text/map-left-text.component.mjs +3 -3
- package/esm2020/lib/structures/map/right-text/map-right-text.component.mjs +3 -3
- package/esm2020/lib/structures/map/text-form/map-text-form.component.mjs +3 -3
- package/esm2020/lib/structures/socials/network/socials-network.component.mjs +3 -3
- package/fesm2015/wizishop-wizi-block.mjs +8 -8
- package/fesm2015/wizishop-wizi-block.mjs.map +1 -1
- package/fesm2020/wizishop-wizi-block.mjs +8 -8
- package/fesm2020/wizishop-wizi-block.mjs.map +1 -1
- package/package.json +1 -1
- package/wizi-block.scss +17 -8
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1,41 @@
|
|
|
1
|
-
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="60" height="40" viewBox="0 0 60 40">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="linear-gradient" x1="0.988" y1="-0.101" x2="0.187" y2="0.885" gradientUnits="objectBoundingBox">
|
|
4
|
+
<stop offset="0.011" stop-color="#3746d7"/>
|
|
5
|
+
<stop offset="0.182" stop-color="#3945d5"/>
|
|
6
|
+
<stop offset="0.287" stop-color="#4144d0"/>
|
|
7
|
+
<stop offset="0.373" stop-color="#5042c8"/>
|
|
8
|
+
<stop offset="0.449" stop-color="#643fbc"/>
|
|
9
|
+
<stop offset="0.519" stop-color="#7f3cad"/>
|
|
10
|
+
<stop offset="0.584" stop-color="#9f389a"/>
|
|
11
|
+
<stop offset="0.624" stop-color="#b7358d"/>
|
|
12
|
+
<stop offset="0.761" stop-color="#e14141"/>
|
|
13
|
+
<stop offset="1" stop-color="#f5c66b"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
</defs>
|
|
16
|
+
<g id="ResauxSociaux" transform="translate(30 20)">
|
|
17
|
+
<g id="Groupe_791" data-name="Groupe 791" transform="translate(-30 -20)">
|
|
18
|
+
<rect id="Rectangle_291" data-name="Rectangle 291" width="60" height="40" fill="#fff" opacity="0"/>
|
|
19
|
+
<g id="Groupe_790" data-name="Groupe 790">
|
|
20
|
+
<g id="Groupe_786" data-name="Groupe 786">
|
|
21
|
+
<circle id="Ellipse_189" data-name="Ellipse 189" cx="12.5" cy="12.5" r="12.5" transform="translate(0.139 7.385)" fill="url(#linear-gradient)"/>
|
|
22
|
+
<path id="Tracé_533" data-name="Tracé 533" d="M19.284,16.612a3.513,3.513,0,0,0-1.071-2.26,3.672,3.672,0,0,0-2.427-.986,47.871,47.871,0,0,0-6.55.073,3.342,3.342,0,0,0-2.864,2.572A36.94,36.94,0,0,0,6.3,23.444a3.353,3.353,0,0,0,2.66,2.888,39.3,39.3,0,0,0,7.33.048,3.356,3.356,0,0,0,2.9-2.648A41.542,41.542,0,0,0,19.284,16.612Zm-1.219,6.616a2.24,2.24,0,0,1-2.107,2,39.331,39.331,0,0,1-6.829-.1,2.174,2.174,0,0,1-1.647-1.871,44.425,44.425,0,0,1,0-6.682,2.238,2.238,0,0,1,2.1-1.991,46.611,46.611,0,0,1,6.518.026,2.243,2.243,0,0,1,2,2.111A47.556,47.556,0,0,1,18.065,23.228Zm-5.293-6.713a3.4,3.4,0,1,0,3.393,3.4A3.4,3.4,0,0,0,12.772,16.515ZM12.749,22.1a2.2,2.2,0,1,1,2.215-2.176A2.2,2.2,0,0,1,12.749,22.1Zm4.346-5.717a.8.8,0,1,1-.793-.8A.8.8,0,0,1,17.095,16.387Z" fill="#fff"/>
|
|
23
|
+
<path id="Tracé_534" data-name="Tracé 534" d="M19.284,16.612a3.513,3.513,0,0,0-1.071-2.26,3.672,3.672,0,0,0-2.427-.986,47.871,47.871,0,0,0-6.55.073,3.342,3.342,0,0,0-2.864,2.572A36.94,36.94,0,0,0,6.3,23.444a3.353,3.353,0,0,0,2.66,2.888,39.3,39.3,0,0,0,7.33.048,3.356,3.356,0,0,0,2.9-2.648A41.542,41.542,0,0,0,19.284,16.612Zm-1.219,6.616a2.24,2.24,0,0,1-2.107,2,39.331,39.331,0,0,1-6.829-.1,2.174,2.174,0,0,1-1.647-1.871,44.425,44.425,0,0,1,0-6.682,2.238,2.238,0,0,1,2.1-1.991,46.611,46.611,0,0,1,6.518.026,2.243,2.243,0,0,1,2,2.111A47.556,47.556,0,0,1,18.065,23.228Zm-5.293-6.713a3.4,3.4,0,1,0,3.393,3.4A3.4,3.4,0,0,0,12.772,16.515ZM12.749,22.1a2.2,2.2,0,1,1,2.215-2.176A2.2,2.2,0,0,1,12.749,22.1Zm4.346-5.717a.8.8,0,1,1-.793-.8A.8.8,0,0,1,17.095,16.387Z" fill="#fff"/>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="Groupe_789" data-name="Groupe 789">
|
|
26
|
+
<g id="Groupe_788" data-name="Groupe 788">
|
|
27
|
+
<g id="Groupe_787" data-name="Groupe 787">
|
|
28
|
+
<circle id="Ellipse_190" data-name="Ellipse 190" cx="0.466" cy="0.466" r="0.466" transform="translate(15.657 15.886)" fill="#fff"/>
|
|
29
|
+
</g>
|
|
30
|
+
</g>
|
|
31
|
+
</g>
|
|
32
|
+
<ellipse id="Ellipse_191" data-name="Ellipse 191" cx="4.75" cy="9.81" rx="4.75" ry="9.81" transform="translate(15.361 10.305)" opacity="0.3"/>
|
|
33
|
+
<circle id="Ellipse_192" data-name="Ellipse 192" cx="12.5" cy="12.5" r="12.5" transform="translate(17.361 7.615)" fill="#1976d2"/>
|
|
34
|
+
<path id="Tracé_535" data-name="Tracé 535" d="M33.9,18.5H31.207V16.346c0-.594.483-.538,1.077-.538h1.077V13.115H31.207a3.232,3.232,0,0,0-3.231,3.231V18.5H25.822v2.692h2.154v5.923h3.231V21.192h1.615Z" fill="#fafafa"/>
|
|
35
|
+
<ellipse id="Ellipse_193" data-name="Ellipse 193" cx="4.75" cy="9.81" rx="4.75" ry="9.81" transform="translate(32.861 10.305)" opacity="0.3"/>
|
|
36
|
+
<circle id="Ellipse_194" data-name="Ellipse 194" cx="12.5" cy="12.5" r="12.5" transform="translate(34.861 7.615)" fill="#55acee"/>
|
|
37
|
+
<path id="Tracé_536" data-name="Tracé 536" d="M54.361,16.115a5.686,5.686,0,0,1-1.651.413,2.715,2.715,0,0,0,1.27-1.46,5.859,5.859,0,0,1-1.81.635,2.976,2.976,0,0,0-2.095-.826,2.744,2.744,0,0,0-2.857,2.635,3.484,3.484,0,0,0,.064.6,8.332,8.332,0,0,1-5.905-2.762A2.424,2.424,0,0,0,41,16.687a2.588,2.588,0,0,0,1.27,2.19,2.924,2.924,0,0,1-1.3-.317v.032a2.736,2.736,0,0,0,2.286,2.6,3.156,3.156,0,0,1-.762.1,3.108,3.108,0,0,1-.54-.064,2.86,2.86,0,0,0,2.667,1.842,6.168,6.168,0,0,1-3.556,1.143,5.335,5.335,0,0,1-.7-.032,8.449,8.449,0,0,0,4.381,1.174A7.789,7.789,0,0,0,52.9,17.829V17.48A5.021,5.021,0,0,0,54.361,16.115Z" fill="#fff"/>
|
|
38
|
+
</g>
|
|
39
|
+
</g>
|
|
40
|
+
</g>
|
|
41
|
+
</svg>
|
|
@@ -89,12 +89,12 @@ export class MapLeftTextComponent extends StructuresComponent {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
MapLeftTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MapLeftTextComponent, deps: [{ token: i1.ExternalConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
-
MapLeftTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MapLeftTextComponent, selector: "wb-map-left-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["myInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-map-left-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-left-text__addresses\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-left-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-left-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-left-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fa-brands fa-x-twitter\"></i>\n </div>\n <div class=\"wb-map-left-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-left-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n <div class=\"wb-map-left-text__social__tiktok\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK]\">\n <i class=\"fa-brands fa-tiktok\"></i>\n </div>\n <div class=\"wb-map-left-text__social__snapchat\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\">\n <i class=\"fa-brands fa-snapchat\"></i>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-left-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-left-text__cover\"></div>\n <div\n class=\"wb-map-left-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-left-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i5.StructureConfigFontComponent, selector: "wb-structure-config-font", inputs: ["white", "color", "isSmall", "isInline", "withImage", "alignLeft", "recommendedSize", "value"], outputs: ["valueChange"] }, { kind: "component", type: i6.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position", "containerSelector"] }, { kind: "directive", type: i7.LeafletDirective, selector: "[leaflet]", inputs: ["leafletFitBoundsOptions", "leafletPanOptions", "leafletZoomOptions", "leafletZoomPanOptions", "leafletOptions", "leafletZoom", "leafletCenter", "leafletFitBounds", "leafletMaxBounds", "leafletMinZoom", "leafletMaxZoom"], outputs: ["leafletMapReady", "leafletZoomChange", "leafletCenterChange", "leafletClick", "leafletDoubleClick", "leafletMouseDown", "leafletMouseUp", "leafletMouseMove", "leafletMouseOver", "leafletMouseOut", "leafletMapMove", "leafletMapMoveStart", "leafletMapMoveEnd", "leafletMapZoom", "leafletMapZoomStart", "leafletMapZoomEnd"] }, { kind: "directive", type: i7.LeafletLayersDirective, selector: "[leafletLayers]", inputs: ["leafletLayers"] }, { kind: "directive", type: i8.GooglePlaceDirective, selector: "[ngx-google-places-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
92
|
+
MapLeftTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MapLeftTextComponent, selector: "wb-map-left-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["myInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-map-left-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-left-text__addresses\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-left-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-left-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-left-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-left-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-left-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n <div class=\"wb-map-left-text__social__tiktok\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK]\">\n <i class=\"fa-brands fa-tiktok\"></i>\n </div>\n <div class=\"wb-map-left-text__social__snapchat\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\">\n <i class=\"fa-brands fa-snapchat\"></i>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-left-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-left-text__cover\"></div>\n <div\n class=\"wb-map-left-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-left-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i5.StructureConfigFontComponent, selector: "wb-structure-config-font", inputs: ["white", "color", "isSmall", "isInline", "withImage", "alignLeft", "recommendedSize", "value"], outputs: ["valueChange"] }, { kind: "component", type: i6.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position", "containerSelector"] }, { kind: "directive", type: i7.LeafletDirective, selector: "[leaflet]", inputs: ["leafletFitBoundsOptions", "leafletPanOptions", "leafletZoomOptions", "leafletZoomPanOptions", "leafletOptions", "leafletZoom", "leafletCenter", "leafletFitBounds", "leafletMaxBounds", "leafletMinZoom", "leafletMaxZoom"], outputs: ["leafletMapReady", "leafletZoomChange", "leafletCenterChange", "leafletClick", "leafletDoubleClick", "leafletMouseDown", "leafletMouseUp", "leafletMouseMove", "leafletMouseOver", "leafletMouseOut", "leafletMapMove", "leafletMapMoveStart", "leafletMapMoveEnd", "leafletMapZoom", "leafletMapZoomStart", "leafletMapZoomEnd"] }, { kind: "directive", type: i7.LeafletLayersDirective, selector: "[leafletLayers]", inputs: ["leafletLayers"] }, { kind: "directive", type: i8.GooglePlaceDirective, selector: "[ngx-google-places-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MapLeftTextComponent, decorators: [{
|
|
94
94
|
type: Component,
|
|
95
|
-
args: [{ selector: MapLeftTextService.selector(), template: "<div class=\"wb-map-left-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-left-text__addresses\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-left-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-left-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-left-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"
|
|
95
|
+
args: [{ selector: MapLeftTextService.selector(), template: "<div class=\"wb-map-left-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-left-text__addresses\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-left-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-left-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-left-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-left-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-left-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n <div class=\"wb-map-left-text__social__tiktok\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK]\">\n <i class=\"fa-brands fa-tiktok\"></i>\n </div>\n <div class=\"wb-map-left-text__social__snapchat\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\">\n <i class=\"fa-brands fa-snapchat\"></i>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-left-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-left-text__cover\"></div>\n <div\n class=\"wb-map-left-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-left-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
96
96
|
}], ctorParameters: function () { return [{ type: i1.ExternalConfigService }]; }, propDecorators: { input: [{
|
|
97
97
|
type: ViewChild,
|
|
98
98
|
args: ['myInput']
|
|
99
99
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZnQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc3RydWN0dXJlcy9tYXAvbGVmdC10ZXh0L21hcC1sZWZ0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL2xlZnQtdGV4dC9tYXAtbGVmdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7Ozs7QUFNeEYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQztJQWV6RSxZQUFvQixxQkFBNEM7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEUSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBYmhFLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUlwQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFWixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSVosSUFBSSxDQUFDLG1CQUFt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SUFBSTthQUNwQjtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxHQUFHO1FBQ1YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDOztpSEF2RlEsb0JBQW9CO3FHQUFwQixvQkFBb0IsaUxDWmpDLGdtUUEwSkE7MkZEOUlhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7NEdBSWpCLEtBQUs7c0JBQTFCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9wZW5NYXBEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvbWFwcy9vcGVuLW1hcC5kdG8nO1xuaW1wb3J0IHsgaWNvbiwgbGF0TG5nLCBtYXJrZXIsIHRpbGVMYXllciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgTWFwTGVmdFRleHREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9tYXAvbWFwLWxlZnQtdGV4dC5kdG8nO1xuaW1wb3J0IHsgTWFwTGVmdFRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmxvY2tzL21hcC9tYXAtbGVmdC10ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwTGVmdFRleHRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hcC1sZWZ0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBMZWZ0VGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwTGVmdFRleHREdG8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ215SW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgICBhZGRyZXNzID0gJyc7XG4gICAgdHJpZ2dlckFkZHJlc3MgPSAnJztcbiAgICBjZW50ZXI7XG4gICAgZ29vZ2xlTWFwUmV0dXJuRWxlbWVudDogT3Blbk1hcER0bztcblxuICAgIGVkaXRQbGFjZU1hcCA9IG51bGw7XG4gICAgZmlyc3RUaW1lVHJpZ2dlciA9IGZhbHNlO1xuXG4gICAgb3B0aW9ucyA9IHt9O1xuICAgIGxheWVycyA9IFtdO1xuXG4gICAgc2hvd01hcCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEV4dGVybmFsQ29uZmlnU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoTWFwTGVmdFRleHRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSAmJiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdKSB7XG4gICAgICAgICAgICB0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQgPSB7XG4gICAgICAgICAgICAgICAgc3VnZ2VzdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBsYXRsbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdDogdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxuZzogdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9YXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXModGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldENvb3JkaW5hdGVPblBsYWNlcyhnb29nbGVSZXN1bHRzOiBPcGVuTWFwRHRvKSB7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICBsYXllcnM6IFt0aWxlTGF5ZXIoJ2h0dHA6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7IG1heFpvb206IDE4LCBhdHRyaWJ1dGlvbjogJ1dpemlTaG9wJyB9KV0sXG4gICAgICAgICAgICB6b29tOiAxOCxcbiAgICAgICAgICAgIHpvb21Db250cm9sOiBmYWxzZSxcbiAgICAgICAgICAgIGNlbnRlcjogbGF0TG5nKGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0gbGF0TG5nKGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW1xuICAgICAgICAgICAgbWFya2VyKFtnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmddLCB7XG4gICAgICAgICAgICAgICAgaWNvbjogaWNvbih7XG4gICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMjUsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzEzLCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1pY29uLnBuZycsXG4gICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLXNoYWRvdy5wbmcnLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG5cbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0O1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmc7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLnZhbHVlO1xuICAgICAgICB0aGlzLnNob3dNYXAgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgIH1cblxuICAgIGhhbmRsZUFkZHJlc3NDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50ID0ge1xuICAgICAgICAgICAgc3VnZ2VzdGlvbjoge1xuICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICBsYXQ6IGV2ZW50Lmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpLFxuICAgICAgICAgICAgICAgICAgICBsbmc6IGV2ZW50Lmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGV2ZW50Lm5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF2b2lkIHBhcnRpYWwgbWFwIGxvYWRlZCBhdCB0aGUgaW5pdGlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0gbWFwXG4gICAgICovXG4gICAgb25NYXBSZWFkeShtYXApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBtYXAuaW52YWxpZGF0ZVNpemUoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1nYXBsZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19hZGRyZXNzZXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJTZWxlY3Rvcj1cIi53Yi1jb21wb25lbnRfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2hpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aXRoSW1hZ2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdID0gJGV2ZW50OyBwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1mb250PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfQUREUkVTU11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyU2VsZWN0b3I9XCIud2ItY29tcG9uZW50X19jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1nYXBsZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctZm9udFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lDT05fUEhPTkVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2hpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aXRoSW1hZ2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX1BIT05FXSA9ICRldmVudDsgcGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctZm9udD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1BIT05FXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJTZWxlY3Rvcj1cIi53Yi1jb21wb25lbnRfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLWdhcGxlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1mb250XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9FTUFJTF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aGl0ZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzU21hbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dpdGhJbWFnZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lDT05fRU1BSUxdID0gJGV2ZW50OyBwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1mb250PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRU1BSUxdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRkFDRUJPT0tdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RXSVRURVJdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1BJTlRFUkVTVF0gfHxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU5TVEFHUkFNXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9USUtUT0tdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NOQVBDSEFUXVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbF9fZmFjZWJvb2tcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0ZBQ0VCT09LXVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhYiBmYS1mYWNlYm9vay1mXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19zb2NpYWxfX3R3aXR0ZXJcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RXSVRURVJdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtYnJhbmRzIGZhLXgtdHdpdHRlclwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fc29jaWFsX19waW50ZXJlc3RcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1BJTlRFUkVTVF1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWIgZmEtcGludGVyZXN0LXBcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbF9faW5zdGFncmFtXCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTlNUQUdSQU1dXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLWluc3RhZ3JhbVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fc29jaWFsX190aWt0b2tcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJS1RPS11cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1icmFuZHMgZmEtdGlrdG9rXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19zb2NpYWxfX3NuYXBjaGF0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TTkFQQ0hBVF1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1icmFuZHMgZmEtc25hcGNoYXRcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd01hcFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fY29udGFpbmVyX19jb25maWdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIFtibG9ja1VVSURdPVwidXVpZFwiIFtwb3NpdGlvbl09XCJUWVBFX0NPTkZJR19QT1NJVElPTl9SSUdIVF9UT1BcIiBbaXNGdWxsd2lkdGhdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjE5JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGRyZXNzLWlucHV0LWVkaXR7eyB1dWlkIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbXlJbnB1dEVkaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm15SW5wdXRFZGl0LnNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmd4LWdvb2dsZS1wbGFjZXMtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkFkZHJlc3NDaGFuZ2UpPVwiaGFuZGxlQWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC93Yi1zdHJ1Y3R1cmUtY29uZmlnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2NvdmVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fY29udGFpbmVyX19tYXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGVhZmxldFxuICAgICAgICAgICAgICAgICAgICAgICAgW2xlYWZsZXRPcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xlYWZsZXRMYXllcnNdPVwibGF5ZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobGVhZmxldENlbnRlcildPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChsZWFmbGV0TWFwUmVhZHkpPVwib25NYXBSZWFkeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fc2VsZWN0b3JcIiAqbmdJZj1cIiFzaG93TWFwXCI+XG4gICAgICAgICAgICAgICAgPHA+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTknIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3MtaW5wdXR7eyB1dWlkIH19XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICAjbXlJbnB1dFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibXlJbnB1dC5zZWxlY3QoKVwiXG4gICAgICAgICAgICAgICAgICAgIG5neC1nb29nbGUtcGxhY2VzLWF1dG9jb21wbGV0ZVxuICAgICAgICAgICAgICAgICAgICAob25BZGRyZXNzQ2hhbmdlKT1cImhhbmRsZUFkZHJlc3NDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZnQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc3RydWN0dXJlcy9tYXAvbGVmdC10ZXh0L21hcC1sZWZ0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL2xlZnQtdGV4dC9tYXAtbGVmdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7Ozs7QUFNeEYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQztJQWV6RSxZQUFvQixxQkFBNEM7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEUSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBYmhFLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUlwQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFWixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSVosSUFBSSxDQUFDLG1CQUFt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SUFBSTthQUNwQjtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxHQUFHO1FBQ1YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDOztpSEF2RlEsb0JBQW9CO3FHQUFwQixvQkFBb0IsaUxDWmpDLHdsUUEwSkE7MkZEOUlhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7NEdBSWpCLEtBQUs7c0JBQTFCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9wZW5NYXBEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvbWFwcy9vcGVuLW1hcC5kdG8nO1xuaW1wb3J0IHsgaWNvbiwgbGF0TG5nLCBtYXJrZXIsIHRpbGVMYXllciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgTWFwTGVmdFRleHREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9tYXAvbWFwLWxlZnQtdGV4dC5kdG8nO1xuaW1wb3J0IHsgTWFwTGVmdFRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmxvY2tzL21hcC9tYXAtbGVmdC10ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwTGVmdFRleHRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hcC1sZWZ0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBMZWZ0VGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwTGVmdFRleHREdG8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ215SW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgICBhZGRyZXNzID0gJyc7XG4gICAgdHJpZ2dlckFkZHJlc3MgPSAnJztcbiAgICBjZW50ZXI7XG4gICAgZ29vZ2xlTWFwUmV0dXJuRWxlbWVudDogT3Blbk1hcER0bztcblxuICAgIGVkaXRQbGFjZU1hcCA9IG51bGw7XG4gICAgZmlyc3RUaW1lVHJpZ2dlciA9IGZhbHNlO1xuXG4gICAgb3B0aW9ucyA9IHt9O1xuICAgIGxheWVycyA9IFtdO1xuXG4gICAgc2hvd01hcCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEV4dGVybmFsQ29uZmlnU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoTWFwTGVmdFRleHRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSAmJiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdKSB7XG4gICAgICAgICAgICB0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQgPSB7XG4gICAgICAgICAgICAgICAgc3VnZ2VzdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBsYXRsbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdDogdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxuZzogdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9YXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXModGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldENvb3JkaW5hdGVPblBsYWNlcyhnb29nbGVSZXN1bHRzOiBPcGVuTWFwRHRvKSB7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICBsYXllcnM6IFt0aWxlTGF5ZXIoJ2h0dHA6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7IG1heFpvb206IDE4LCBhdHRyaWJ1dGlvbjogJ1dpemlTaG9wJyB9KV0sXG4gICAgICAgICAgICB6b29tOiAxOCxcbiAgICAgICAgICAgIHpvb21Db250cm9sOiBmYWxzZSxcbiAgICAgICAgICAgIGNlbnRlcjogbGF0TG5nKGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0gbGF0TG5nKGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW1xuICAgICAgICAgICAgbWFya2VyKFtnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmddLCB7XG4gICAgICAgICAgICAgICAgaWNvbjogaWNvbih7XG4gICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMjUsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzEzLCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1pY29uLnBuZycsXG4gICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLXNoYWRvdy5wbmcnLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG5cbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0O1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmc7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLnZhbHVlO1xuICAgICAgICB0aGlzLnNob3dNYXAgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgIH1cblxuICAgIGhhbmRsZUFkZHJlc3NDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50ID0ge1xuICAgICAgICAgICAgc3VnZ2VzdGlvbjoge1xuICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICBsYXQ6IGV2ZW50Lmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpLFxuICAgICAgICAgICAgICAgICAgICBsbmc6IGV2ZW50Lmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGV2ZW50Lm5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF2b2lkIHBhcnRpYWwgbWFwIGxvYWRlZCBhdCB0aGUgaW5pdGlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0gbWFwXG4gICAgICovXG4gICAgb25NYXBSZWFkeShtYXApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBtYXAuaW52YWxpZGF0ZVNpemUoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1nYXBsZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19hZGRyZXNzZXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJTZWxlY3Rvcj1cIi53Yi1jb21wb25lbnRfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2hpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aXRoSW1hZ2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdID0gJGV2ZW50OyBwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1mb250PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfQUREUkVTU11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyU2VsZWN0b3I9XCIud2ItY29tcG9uZW50X19jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1nYXBsZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctZm9udFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lDT05fUEhPTkVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2hpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aXRoSW1hZ2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX1BIT05FXSA9ICRldmVudDsgcGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctZm9udD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1BIT05FXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJTZWxlY3Rvcj1cIi53Yi1jb21wb25lbnRfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLWdhcGxlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1mb250XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9FTUFJTF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aGl0ZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzU21hbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dpdGhJbWFnZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lDT05fRU1BSUxdID0gJGV2ZW50OyBwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1mb250PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRU1BSUxdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRkFDRUJPT0tdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RXSVRURVJdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1BJTlRFUkVTVF0gfHxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU5TVEFHUkFNXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9USUtUT0tdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NOQVBDSEFUXVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbF9fZmFjZWJvb2tcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0ZBQ0VCT09LXVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhYiBmYS1mYWNlYm9vay1mXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19zb2NpYWxfX3R3aXR0ZXJcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RXSVRURVJdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLXR3aXR0ZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbF9fcGludGVyZXN0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9QSU5URVJFU1RdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLXBpbnRlcmVzdC1wXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19zb2NpYWxfX2luc3RhZ3JhbVwiICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSU5TVEFHUkFNXVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhYiBmYS1pbnN0YWdyYW1cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NvY2lhbF9fdGlrdG9rXCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9USUtUT0tdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtYnJhbmRzIGZhLXRpa3Rva1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fc29jaWFsX19zbmFwY2hhdFwiICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfU05BUENIQVRdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtYnJhbmRzIGZhLXNuYXBjaGF0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWxlZnQtdGV4dF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dNYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2NvbnRhaW5lcl9fY29uZmlnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZyBbYmxvY2tVVUlEXT1cInV1aWRcIiBbcG9zaXRpb25dPVwiVFlQRV9DT05GSUdfUE9TSVRJT05fUklHSFRfVE9QXCIgW2lzRnVsbHdpZHRoXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xOScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRkcmVzcy1pbnB1dC1lZGl0e3sgdXVpZCB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhZGRyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI215SW5wdXRFZGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJteUlucHV0RWRpdC5zZWxlY3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5neC1nb29nbGUtcGxhY2VzLWF1dG9jb21wbGV0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25BZGRyZXNzQ2hhbmdlKT1cImhhbmRsZUFkZHJlc3NDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2Itc3RydWN0dXJlLWNvbmZpZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtbGVmdC10ZXh0X19jb3ZlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX2NvbnRhaW5lcl9fbWFwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWZsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFmbGV0T3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFmbGV0TGF5ZXJzXT1cImxheWVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKGxlYWZsZXRDZW50ZXIpXT1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobGVhZmxldE1hcFJlYWR5KT1cIm9uTWFwUmVhZHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1sZWZ0LXRleHRfX3NlbGVjdG9yXCIgKm5nSWY9XCIhc2hvd01hcFwiPlxuICAgICAgICAgICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjE5JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGRyZXNzLWlucHV0e3sgdXVpZCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhZGRyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgI215SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm15SW5wdXQuc2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICBuZ3gtZ29vZ2xlLXBsYWNlcy1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgKG9uQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -89,12 +89,12 @@ export class MapRightTextComponent extends StructuresComponent {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
MapRightTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MapRightTextComponent, deps: [{ token: i1.ExternalConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
-
MapRightTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MapRightTextComponent, selector: "wb-map-right-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["myInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-map-right-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-right-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-right-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-right-text__cover\"></div>\n <div\n class=\"wb-map-right-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-right-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__addresses\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-right-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-right-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-right-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fa-brands fa-x-twitter\"></i>\n </div>\n <div class=\"wb-map-right-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-right-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n <div class=\"wb-map-right-text__social__tiktok\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK]\">\n <i class=\"fa-brands fa-tiktok\"></i>\n </div>\n <div class=\"wb-map-right-text__social__snapchat\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\">\n <i class=\"fa-brands fa-snapchat\"></i>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i5.StructureConfigFontComponent, selector: "wb-structure-config-font", inputs: ["white", "color", "isSmall", "isInline", "withImage", "alignLeft", "recommendedSize", "value"], outputs: ["valueChange"] }, { kind: "component", type: i6.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position", "containerSelector"] }, { kind: "directive", type: i7.LeafletDirective, selector: "[leaflet]", inputs: ["leafletFitBoundsOptions", "leafletPanOptions", "leafletZoomOptions", "leafletZoomPanOptions", "leafletOptions", "leafletZoom", "leafletCenter", "leafletFitBounds", "leafletMaxBounds", "leafletMinZoom", "leafletMaxZoom"], outputs: ["leafletMapReady", "leafletZoomChange", "leafletCenterChange", "leafletClick", "leafletDoubleClick", "leafletMouseDown", "leafletMouseUp", "leafletMouseMove", "leafletMouseOver", "leafletMouseOut", "leafletMapMove", "leafletMapMoveStart", "leafletMapMoveEnd", "leafletMapZoom", "leafletMapZoomStart", "leafletMapZoomEnd"] }, { kind: "directive", type: i7.LeafletLayersDirective, selector: "[leafletLayers]", inputs: ["leafletLayers"] }, { kind: "directive", type: i8.GooglePlaceDirective, selector: "[ngx-google-places-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
92
|
+
MapRightTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MapRightTextComponent, selector: "wb-map-right-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["myInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-map-right-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-right-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-right-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-right-text__cover\"></div>\n <div\n class=\"wb-map-right-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-right-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__addresses\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-right-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-right-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-right-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-right-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-right-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n <div class=\"wb-map-right-text__social__tiktok\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK]\">\n <i class=\"fa-brands fa-tiktok\"></i>\n </div>\n <div class=\"wb-map-right-text__social__snapchat\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\">\n <i class=\"fa-brands fa-snapchat\"></i>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i5.StructureConfigFontComponent, selector: "wb-structure-config-font", inputs: ["white", "color", "isSmall", "isInline", "withImage", "alignLeft", "recommendedSize", "value"], outputs: ["valueChange"] }, { kind: "component", type: i6.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position", "containerSelector"] }, { kind: "directive", type: i7.LeafletDirective, selector: "[leaflet]", inputs: ["leafletFitBoundsOptions", "leafletPanOptions", "leafletZoomOptions", "leafletZoomPanOptions", "leafletOptions", "leafletZoom", "leafletCenter", "leafletFitBounds", "leafletMaxBounds", "leafletMinZoom", "leafletMaxZoom"], outputs: ["leafletMapReady", "leafletZoomChange", "leafletCenterChange", "leafletClick", "leafletDoubleClick", "leafletMouseDown", "leafletMouseUp", "leafletMouseMove", "leafletMouseOver", "leafletMouseOut", "leafletMapMove", "leafletMapMoveStart", "leafletMapMoveEnd", "leafletMapZoom", "leafletMapZoomStart", "leafletMapZoomEnd"] }, { kind: "directive", type: i7.LeafletLayersDirective, selector: "[leafletLayers]", inputs: ["leafletLayers"] }, { kind: "directive", type: i8.GooglePlaceDirective, selector: "[ngx-google-places-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MapRightTextComponent, decorators: [{
|
|
94
94
|
type: Component,
|
|
95
|
-
args: [{ selector: MapRightTextService.selector(), template: "<div class=\"wb-map-right-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-right-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-right-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-right-text__cover\"></div>\n <div\n class=\"wb-map-right-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-right-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__addresses\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-right-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-right-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-right-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"
|
|
95
|
+
args: [{ selector: MapRightTextService.selector(), template: "<div class=\"wb-map-right-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-right-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-right-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-right-text__cover\"></div>\n <div\n class=\"wb-map-right-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-right-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__addresses\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n containerSelector=\".wb-component__container\"\n >\n </wz-editor>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-right-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\n \"\n >\n <div class=\"wb-map-right-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-right-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-right-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-right-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n <div class=\"wb-map-right-text__social__tiktok\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TIKTOK]\">\n <i class=\"fa-brands fa-tiktok\"></i>\n </div>\n <div class=\"wb-map-right-text__social__snapchat\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SNAPCHAT]\">\n <i class=\"fa-brands fa-snapchat\"></i>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
96
96
|
}], ctorParameters: function () { return [{ type: i1.ExternalConfigService }]; }, propDecorators: { input: [{
|
|
97
97
|
type: ViewChild,
|
|
98
98
|
args: ['myInput']
|
|
99
99
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL3JpZ2h0LXRleHQvbWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL3JpZ2h0LXRleHQvbWFwLXJpZ2h0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7OztBQU14RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW9DO0lBZTNFLFlBQW9CLHFCQUE0QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURRLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFiaEUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBSXBCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJWixJQUFJLENBQUMs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Q0FBQyxJQUFJO2FBQ3BCO1NBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEdBQUc7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7O2tIQXZGUSxxQkFBcUI7c0dBQXJCLHFCQUFxQixrTENabEMsa25RQTBKQTsyRkQ5SWEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNJLG1CQUFtQixDQUFDLFFBQVEsRUFBRTs0R0FJbEIsS0FBSztzQkFBMUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3Blbk1hcER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9tYXBzL29wZW4tbWFwLmR0byc7XG5pbXBvcnQgeyBpY29uLCBsYXRMbmcsIG1hcmtlciwgdGlsZUxheWVyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBNYXBSaWdodFRleHREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9tYXAvbWFwLXJpZ2h0LXRleHQuZHRvJztcbmltcG9ydCB7IE1hcFJpZ2h0VGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1yaWdodC10ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwUmlnaHRUZXh0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtcmlnaHQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFJpZ2h0VGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwUmlnaHRUZXh0RHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdteUlucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gICAgYWRkcmVzcyA9ICcnO1xuICAgIHRyaWdnZXJBZGRyZXNzID0gJyc7XG4gICAgY2VudGVyO1xuICAgIGdvb2dsZU1hcFJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG87XG5cbiAgICBlZGl0UGxhY2VNYXAgPSBudWxsO1xuICAgIGZpcnN0VGltZVRyaWdnZXIgPSBmYWxzZTtcblxuICAgIG9wdGlvbnMgPSB7fTtcbiAgICBsYXllcnMgPSBbXTtcblxuICAgIHNob3dNYXAgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKE1hcFJpZ2h0VGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldICYmIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0pIHtcbiAgICAgICAgICAgIHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG5nOiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKGdvb2dsZVJlc3VsdHM6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTgsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jZW50ZXIgPSBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXG4gICAgICAgICAgICBtYXJrZXIoW2dvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQ7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0gPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZztcblxuICAgICAgICB0aGlzLmFkZHJlc3MgPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQWRkcmVzc0NoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQgPSB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGF0bG5nOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdDogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCksXG4gICAgICAgICAgICAgICAgICAgIGxuZzogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubG5nKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZXZlbnQubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXZvaWQgcGFydGlhbCBtYXAgbG9hZGVkIGF0IHRoZSBpbml0aWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICBvbk1hcFJlYWR5KG1hcCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1nYXBsZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dNYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19jb250YWluZXJfX2NvbmZpZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWcgW2Jsb2NrVVVJRF09XCJ1dWlkXCIgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX1JJR0hUX1RPUFwiIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTknIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3MtaW5wdXQtZWRpdHt7IHV1aWQgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNteUlucHV0RWRpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibXlJbnB1dEVkaXQuc2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ3gtZ29vZ2xlLXBsYWNlcy1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2NvdmVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2NvbnRhaW5lcl9fbWFwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWZsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFmbGV0T3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFmbGV0TGF5ZXJzXT1cImxheWVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKGxlYWZsZXRDZW50ZXIpXT1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobGVhZmxldE1hcFJlYWR5KT1cIm9uTWFwUmVhZHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zZWxlY3RvclwiICpuZ0lmPVwiIXNob3dNYXBcIj5cbiAgICAgICAgICAgICAgICA8cD57eyAnd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xOScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYWRkcmVzcy1pbnB1dHt7IHV1aWQgfX1cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICAgICNteUlucHV0XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJteUlucHV0LnNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgbmd4LWdvb2dsZS1wbGFjZXMtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgICAgIChvbkFkZHJlc3NDaGFuZ2UpPVwiaGFuZGxlQWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2FkZHJlc3Nlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJTZWxlY3Rvcj1cIi53Yi1jb21wb25lbnRfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2hpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aXRoSW1hZ2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdID0gJGV2ZW50OyBwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1mb250PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0FERFJFU1NdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX1BIT05FXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3doaXRlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2l0aEltYWdlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9QSE9ORV0gPSAkZXZlbnQ7IHBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfUEhPTkVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0VNQUlMXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3doaXRlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2l0aEltYWdlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9FTUFJTF0gPSAkZXZlbnQ7IHBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRU1BSUxdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zb2NpYWxcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0ZBQ0VCT09LXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9UV0lUVEVSXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9QSU5URVJFU1RdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lOU1RBR1JBTV0gfHxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElLVE9LXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TTkFQQ0hBVF1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fc29jaWFsX19mYWNlYm9va1wiICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRkFDRUJPT0tdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLWZhY2Vib29rLWZcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zb2NpYWxfX3R3aXR0ZXJcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RXSVRURVJdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtYnJhbmRzIGZhLXgtdHdpdHRlclwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX3NvY2lhbF9fcGludGVyZXN0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9QSU5URVJFU1RdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLXBpbnRlcmVzdC1wXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fc29jaWFsX19pbnN0YWdyYW1cIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lOU1RBR1JBTV1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWIgZmEtaW5zdGFncmFtXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fc29jaWFsX190aWt0b2tcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJS1RPS11cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1icmFuZHMgZmEtdGlrdG9rXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fc29jaWFsX19zbmFwY2hhdFwiICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfU05BUENIQVRdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtYnJhbmRzIGZhLXNuYXBjaGF0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL3JpZ2h0LXRleHQvbWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL3JpZ2h0LXRleHQvbWFwLXJpZ2h0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7OztBQU14RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW9DO0lBZTNFLFlBQW9CLHFCQUE0QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURRLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFiaEUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBSXBCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJWixJQUFJLENBQUMs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Q0FBQyxJQUFJO2FBQ3BCO1NBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEdBQUc7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7O2tIQXZGUSxxQkFBcUI7c0dBQXJCLHFCQUFxQixrTENabEMsMG1RQTBKQTsyRkQ5SWEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNJLG1CQUFtQixDQUFDLFFBQVEsRUFBRTs0R0FJbEIsS0FBSztzQkFBMUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3Blbk1hcER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9tYXBzL29wZW4tbWFwLmR0byc7XG5pbXBvcnQgeyBpY29uLCBsYXRMbmcsIG1hcmtlciwgdGlsZUxheWVyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBNYXBSaWdodFRleHREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9tYXAvbWFwLXJpZ2h0LXRleHQuZHRvJztcbmltcG9ydCB7IE1hcFJpZ2h0VGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1yaWdodC10ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwUmlnaHRUZXh0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtcmlnaHQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFJpZ2h0VGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwUmlnaHRUZXh0RHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdteUlucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gICAgYWRkcmVzcyA9ICcnO1xuICAgIHRyaWdnZXJBZGRyZXNzID0gJyc7XG4gICAgY2VudGVyO1xuICAgIGdvb2dsZU1hcFJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG87XG5cbiAgICBlZGl0UGxhY2VNYXAgPSBudWxsO1xuICAgIGZpcnN0VGltZVRyaWdnZXIgPSBmYWxzZTtcblxuICAgIG9wdGlvbnMgPSB7fTtcbiAgICBsYXllcnMgPSBbXTtcblxuICAgIHNob3dNYXAgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKE1hcFJpZ2h0VGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldICYmIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0pIHtcbiAgICAgICAgICAgIHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG5nOiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKGdvb2dsZVJlc3VsdHM6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTgsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jZW50ZXIgPSBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXG4gICAgICAgICAgICBtYXJrZXIoW2dvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQ7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0gPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZztcblxuICAgICAgICB0aGlzLmFkZHJlc3MgPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQWRkcmVzc0NoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQgPSB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGF0bG5nOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdDogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCksXG4gICAgICAgICAgICAgICAgICAgIGxuZzogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubG5nKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZXZlbnQubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXZvaWQgcGFydGlhbCBtYXAgbG9hZGVkIGF0IHRoZSBpbml0aWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICBvbk1hcFJlYWR5KG1hcCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1nYXBsZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dNYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19jb250YWluZXJfX2NvbmZpZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWcgW2Jsb2NrVVVJRF09XCJ1dWlkXCIgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX1JJR0hUX1RPUFwiIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMTknIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3MtaW5wdXQtZWRpdHt7IHV1aWQgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNteUlucHV0RWRpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibXlJbnB1dEVkaXQuc2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ3gtZ29vZ2xlLXBsYWNlcy1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2NvdmVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2NvbnRhaW5lcl9fbWFwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWZsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFmbGV0T3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFmbGV0TGF5ZXJzXT1cImxheWVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKGxlYWZsZXRDZW50ZXIpXT1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobGVhZmxldE1hcFJlYWR5KT1cIm9uTWFwUmVhZHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zZWxlY3RvclwiICpuZ0lmPVwiIXNob3dNYXBcIj5cbiAgICAgICAgICAgICAgICA8cD57eyAnd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xOScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYWRkcmVzcy1pbnB1dHt7IHV1aWQgfX1cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICAgICNteUlucHV0XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJteUlucHV0LnNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgbmd4LWdvb2dsZS1wbGFjZXMtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgICAgIChvbkFkZHJlc3NDaGFuZ2UpPVwiaGFuZGxlQWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2FkZHJlc3Nlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJTZWxlY3Rvcj1cIi53Yi1jb21wb25lbnRfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2hpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aXRoSW1hZ2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0FERFJFU1NdID0gJGV2ZW50OyBwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1mb250PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHd6LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0FERFJFU1NdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX1BIT05FXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3doaXRlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2l0aEltYWdlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9QSE9ORV0gPSAkZXZlbnQ7IHBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfUEhPTkVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JQ09OX0VNQUlMXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3doaXRlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2l0aEltYWdlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfSUNPTl9FTUFJTF0gPSAkZXZlbnQ7IHBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWZvbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX2FkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRU1BSUxdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclNlbGVjdG9yPVwiLndiLWNvbXBvbmVudF9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zb2NpYWxcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0ZBQ0VCT09LXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9UV0lUVEVSXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9QSU5URVJFU1RdIHx8XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0lOU1RBR1JBTV0gfHxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElLVE9LXSB8fFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TTkFQQ0hBVF1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtcmlnaHQtdGV4dF9fc29jaWFsX19mYWNlYm9va1wiICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfRkFDRUJPT0tdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLWZhY2Vib29rLWZcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zb2NpYWxfX3R3aXR0ZXJcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RXSVRURVJdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLXR3aXR0ZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1yaWdodC10ZXh0X19zb2NpYWxfX3BpbnRlcmVzdFwiICpuZ0lmPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfUElOVEVSRVNUXVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhYiBmYS1waW50ZXJlc3QtcFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX3NvY2lhbF9faW5zdGFncmFtXCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9JTlNUQUdSQU1dXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFiIGZhLWluc3RhZ3JhbVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX3NvY2lhbF9fdGlrdG9rXCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9USUtUT0tdXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtYnJhbmRzIGZhLXRpa3Rva1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLXJpZ2h0LXRleHRfX3NvY2lhbF9fc25hcGNoYXRcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NOQVBDSEFUXVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWJyYW5kcyBmYS1zbmFwY2hhdFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|