@flower-city-online/itinerary-lib 0.0.52 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.mjs +6 -5
- package/esm2022/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.mjs +6 -5
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.mjs +4 -5
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.mjs +7 -6
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.mjs +7 -6
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.mjs +3 -3
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.mjs +8 -7
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.mjs +7 -6
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.mjs +6 -5
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.mjs +4 -3
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.mjs +7 -6
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.mjs +6 -5
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.mjs +7 -6
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.mjs +6 -5
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.mjs +8 -7
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.mjs +4 -3
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.mjs +4 -3
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.mjs +4 -3
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.mjs +4 -3
- package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs +4 -4
- package/esm2022/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.mjs +65 -0
- package/esm2022/lib/itinerary-app/shared/card-component/card-component.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/shared/comment/comment.component.mjs +5 -4
- package/esm2022/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.mjs +4 -4
- package/esm2022/lib/itinerary-app/shared/cutom-card/cutom-card.component.mjs +6 -5
- package/esm2022/lib/itinerary-app/shared/footer/footer.component.mjs +6 -6
- package/esm2022/lib/itinerary-app/shared/header/header.component.mjs +2 -2
- package/esm2022/lib/itinerary-app/shared/icon-button/icon-button.component.mjs +37 -10
- package/esm2022/lib/itinerary-app/shared/input-field-select/input-field-select.component.mjs +109 -0
- package/esm2022/lib/itinerary-app/shared/notification-tile/notification-tile.component.mjs +4 -4
- package/esm2022/lib/itinerary-app/shared/popup-modal/popup-modal.component.mjs +85 -0
- package/esm2022/lib/itinerary-app/shared/search-bar/search-bar.component.mjs +30 -0
- package/esm2022/lib/itinerary-app/shared/search-popup/search-popup.component.mjs +4 -4
- package/esm2022/lib/itinerary-app/shared/shared.module.mjs +29 -6
- package/fesm2022/flower-city-online-itinerary-lib.mjs +459 -141
- package/fesm2022/flower-city-online-itinerary-lib.mjs.map +1 -1
- package/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.d.ts +20 -0
- package/lib/itinerary-app/shared/icon-button/icon-button.component.d.ts +13 -4
- package/lib/itinerary-app/shared/input-field-select/input-field-select.component.d.ts +35 -0
- package/lib/itinerary-app/shared/popup-modal/popup-modal.component.d.ts +30 -0
- package/lib/itinerary-app/shared/search-bar/search-bar.component.d.ts +12 -0
- package/lib/itinerary-app/shared/shared.module.d.ts +11 -7
- package/package.json +1 -1
- package/src/lib/itinerary-app/_styles/modal.scss +2 -2
- package/src/lib/itinerary-app/_styles/styles.scss +327 -327
- package/src/lib/itinerary-app/styles.scss +237 -289
- package/styles.css +1 -1
- package/src/lib/itinerary-app/_styles/component-global-styles/bottom-navigation.scss +0 -19
- package/src/lib/itinerary-app/_styles/component-global-styles/create-itinerary.scss +0 -16
- package/src/lib/itinerary-app/_styles/component-global-styles/custom-button.scss +0 -32
- package/src/lib/itinerary-app/_styles/component-global-styles/custom-menu.scss +0 -38
- package/src/lib/itinerary-app/_styles/component-global-styles/dashboard.scss +0 -5
- package/src/lib/itinerary-app/_styles/component-global-styles/delete-itineraries.scss +0 -7
- package/src/lib/itinerary-app/_styles/component-global-styles/filter-menu.scss +0 -36
- package/src/lib/itinerary-app/_styles/component-global-styles/header.scss +0 -22
- package/src/lib/itinerary-app/_styles/component-global-styles/navbar.scss +0 -47
- package/src/lib/itinerary-app/_styles/component-global-styles/search-bar.scss +0 -17
- package/src/lib/itinerary-app/_styles/component-global-styles/side-bar.scss +0 -28
- package/src/lib/itinerary-app/_styles/component-global-styles/tab-bar.scss +0 -21
package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
import * as i1 from "../../../../_services/api.service";
|
|
7
7
|
import * as i2 from "@angular/common";
|
|
8
8
|
import * as i3 from "@angular/router";
|
|
9
|
-
import * as i4 from "
|
|
9
|
+
import * as i4 from "../../../../shared/search-bar/search-bar.component";
|
|
10
10
|
import * as i5 from "../../components/search-chips/search-chips.component";
|
|
11
11
|
import * as i6 from "../../components/recent-searches/recent-searches.component";
|
|
12
12
|
import * as i7 from "../../components/quick-actions/quick-actions.component";
|
|
@@ -186,11 +186,11 @@ export class MainSearchComponent {
|
|
|
186
186
|
navToBack = () => this.location.back();
|
|
187
187
|
clear() { }
|
|
188
188
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainSearchComponent, deps: [{ token: i1.ApiService }, { token: i2.Location }, { token: i0.ChangeDetectorRef }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
189
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MainSearchComponent, selector: "app-main-search", inputs: { enableSelection: "enableSelection", enableGridFilters: "enableGridFilters", enableCreate: "enableCreate", enableRefresh: "enableRefresh", enableTrash: "enableTrash", isLoading: "isLoading", totalRecords: "totalRecords", rowsPerPage: "rowsPerPage", first: "first", rowsPerPageOptions: "rowsPerPageOptions", actionButtons: "actionButtons", currencyDisplayCode: "currencyDisplayCode", minimumColumnWidth: "minimumColumnWidth", isEditInProgress: "isEditInProgress" }, outputs: { lazyLoad: "lazyLoad", columnsChange: "columnsChange", editComplete: "editComplete", editChange: "editChange", selectAllPages: "selectAllPages", createClicked: "createClicked", refreshData: "refreshData", showTrash: "showTrash", excludeItem: "excludeItem", userFilter: "userFilter" }, ngImport: i0, template: "<div class=\"main-search-screen pt-5 px-4\">\r\n <div class=\"sub-screen\">\r\n <
|
|
189
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MainSearchComponent, selector: "app-main-search", inputs: { enableSelection: "enableSelection", enableGridFilters: "enableGridFilters", enableCreate: "enableCreate", enableRefresh: "enableRefresh", enableTrash: "enableTrash", isLoading: "isLoading", totalRecords: "totalRecords", rowsPerPage: "rowsPerPage", first: "first", rowsPerPageOptions: "rowsPerPageOptions", actionButtons: "actionButtons", currencyDisplayCode: "currencyDisplayCode", minimumColumnWidth: "minimumColumnWidth", isEditInProgress: "isEditInProgress" }, outputs: { lazyLoad: "lazyLoad", columnsChange: "columnsChange", editComplete: "editComplete", editChange: "editChange", selectAllPages: "selectAllPages", createClicked: "createClicked", refreshData: "refreshData", showTrash: "showTrash", excludeItem: "excludeItem", userFilter: "userFilter" }, ngImport: i0, template: "<div class=\"main-search-screen pt-5 px-4\">\r\n <div class=\"sub-screen\">\r\n <app-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_ITINERARIES' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\" (cleared)=\"clear()\" [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </app-search-bar>\r\n <app-search-chips [selectedChip]=\"selectedCategory\" (chipItemSelected)=\"categorySelected($event)\"></app-search-chips>\r\n <div class=\"p-4\">\r\n <ng-container *ngIf=\"isSearching\">\r\n <app-search-results [data]=\"filteredData\"></app-search-results>\r\n </ng-container>\r\n <app-recent-searches *ngIf=\"!isSearching\"></app-recent-searches>\r\n <app-serach-clear-history *ngIf=\"!isSearching\"></app-serach-clear-history>\r\n <div class=\"border-t border-gray-700 mt-2\" *ngIf=\"!isSearching\"></div>\r\n <app-quick-actions [hidden]=\"searchString && !selectedCategory\"></app-quick-actions>\r\n <app-serach-bottom-bar></app-serach-bottom-bar>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".main-search-screen{height:100%;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SearchBarComponent, selector: "app-search-bar", inputs: ["searchIcon", "placeholderText"], outputs: ["searchStringChange", "cleared"] }, { kind: "component", type: i5.SearchChipsComponent, selector: "app-search-chips", inputs: ["selectedChip"], outputs: ["chipItemSelected"] }, { kind: "component", type: i6.RecentSearchesComponent, selector: "app-recent-searches" }, { kind: "component", type: i7.QuickActionsComponent, selector: "app-quick-actions" }, { kind: "component", type: i8.SerachBottomBarComponent, selector: "app-serach-bottom-bar" }, { kind: "component", type: i9.SerachClearHistoryComponent, selector: "app-serach-clear-history" }, { kind: "component", type: i10.SearchResultsComponent, selector: "app-search-results", inputs: ["data"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
190
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainSearchComponent, decorators: [{
|
|
192
192
|
type: Component,
|
|
193
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-main-search', standalone: false, template: "<div class=\"main-search-screen pt-5 px-4\">\r\n <div class=\"sub-screen\">\r\n <
|
|
193
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-main-search', standalone: false, template: "<div class=\"main-search-screen pt-5 px-4\">\r\n <div class=\"sub-screen\">\r\n <app-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_ITINERARIES' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\" (cleared)=\"clear()\" [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </app-search-bar>\r\n <app-search-chips [selectedChip]=\"selectedCategory\" (chipItemSelected)=\"categorySelected($event)\"></app-search-chips>\r\n <div class=\"p-4\">\r\n <ng-container *ngIf=\"isSearching\">\r\n <app-search-results [data]=\"filteredData\"></app-search-results>\r\n </ng-container>\r\n <app-recent-searches *ngIf=\"!isSearching\"></app-recent-searches>\r\n <app-serach-clear-history *ngIf=\"!isSearching\"></app-serach-clear-history>\r\n <div class=\"border-t border-gray-700 mt-2\" *ngIf=\"!isSearching\"></div>\r\n <app-quick-actions [hidden]=\"searchString && !selectedCategory\"></app-quick-actions>\r\n <app-serach-bottom-bar></app-serach-bottom-bar>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".main-search-screen{height:100%;overflow-y:auto}\n"] }]
|
|
194
194
|
}], ctorParameters: () => [{ type: i1.ApiService }, { type: i2.Location }, { type: i0.ChangeDetectorRef }, { type: i3.Router }], propDecorators: { enableSelection: [{
|
|
195
195
|
type: Input
|
|
196
196
|
}], enableGridFilters: [{
|
|
@@ -240,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
240
240
|
}], userFilter: [{
|
|
241
241
|
type: Output
|
|
242
242
|
}] } });
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9zZWFyY2gvcGFnZXMvbWFpbi1zZWFyY2gvbWFpbi1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9zZWFyY2gvcGFnZXMvbWFpbi1zZWFyY2gvbWFpbi1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWEvRSxNQUFNLE9BQU8sbUJBQW1CO0lBOERWO0lBQ1Y7SUFDQTtJQUNBO0lBaEVWLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRXhCLElBQUksR0FBbUIsRUFBRSxDQUFDO0lBQzFCLFlBQVksR0FBbUIsRUFBRSxDQUFDO0lBQ3pCLGtCQUFrQixHQUFXLEVBQUUsQ0FBQztJQUNoQyx3QkFBd0IsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMx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ZixLQUFLOzJKQWlCVixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi9faW50ZXJmYWNlL3NlYXJjaFJlc3VsdHMnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEVkaXRDb21wbGV0ZUV2ZW50LCBHcmlkQ29sdW1uQ2hhbmdlLCBHcmlkRGF0YVJlcXVlc3R9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRmlsdGVyRGF0YVJlcXVlc3QsIFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc2VsZWN0b3I6ICdhcHAtbWFpbi1zZWFyY2gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21haW4tc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9tYWluLXNlYXJjaC5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFpblNlYXJjaENvbXBvbmVudCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgaXNTZWFyY2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgZGF0YTogU2VhcmNoUmVzdWx0W10gPSBbXTtcclxuICBmaWx0ZXJlZERhdGE6IFNlYXJjaFJlc3VsdFtdID0gW107XHJcbiAgcmVhZG9ubHkgZGVmYXVsdFJvd3NQZXJQYWdlOiBudW1iZXIgPSAxMDtcclxuICByZWFkb25seSBkZWZhdWx0Um93UGVyUGFnZU9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyNSwgNTBdO1xyXG4gIHB1YmxpYyBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzZWxlY3RlZENhdGVnb3J5OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIGNvbXBvbmVudERlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIHNlYXJjaFN0cmluZ1N1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIEBJbnB1dCgpIGVuYWJsZVNlbGVjdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZW5hYmxlR3JpZEZpbHRlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGVuYWJsZUNyZWF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVJlZnJlc2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVUcmFzaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSByb3dzUGVyUGFnZTogbnVtYmVyID0gdGhpcy5kZWZhdWx0Um93c1BlclBhZ2U7XHJcbiAgQElucHV0KCkgZmlyc3Q6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgcm93c1BlclBhZ2VPcHRpb25zOiBudW1iZXJbXSA9IHRoaXMuZGVmYXVsdFJvd1BlclBhZ2VPcHRpb25zO1xyXG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgY3VycmVuY3lEaXNwbGF5Q29kZTogc3RyaW5nID0gJ1VTRCc7XHJcbiAgQElucHV0KCkgbWluaW11bUNvbHVtbldpZHRoOiBudW1iZXIgPSAtMTtcclxuXHJcbiAgQE91dHB1dCgpIGxhenlMb2FkOiBFdmVudEVtaXR0ZXI8R3JpZERhdGFSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZERhdGFSZXF1ZXN0PigpO1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8R3JpZENvbHVtbkNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRDb2x1bW5DaGFuZ2U+KCk7XHJcbiAgQE91dHB1dCgpIGVkaXRDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEVkaXRDb21wbGV0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RWRpdENvbXBsZXRlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGVkaXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0QWxsUGFnZXM6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgY3JlYXRlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSByZWZyZXNoRGF0YTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzaG93VHJhc2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgZXhjbHVkZUl0ZW06IEV2ZW50RW1pdHRlcjwoc3RyaW5nIHwgbnVtYmVyKVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8KHN0cmluZyB8IG51bWJlcilbXT4oKTtcclxuICBASW5wdXQoKSBpc0VkaXRJblByb2dyZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLy8gT3B0aW9uYWw6IGlmIHVzaW5nIHVzZXJGaWx0ZXJcclxuICBAT3V0cHV0KCkgdXNlckZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcHVibGljRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgICBvcGVyYXRvclR5cGU6IHN0cmluZztcclxuICAgIHZhbHVlczogc3RyaW5nW107XHJcbiAgfT4oKTtcclxuICBmaWx0ZXJzc3M6IFNlbGVjdE9wdGlvbjxudW1iZXI+W10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGxhYmVsOiAnSGVsbG8nLFxyXG4gICAgICB2YWx1ZTogMixcclxuICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgdmlzaWJsZUNvbW1lbnRzOiBTYWZlSHRtbFtdID0gW107XHJcblxyXG4gIG9uU2VsZWN0QWxsUGFnZXMoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsUGFnZXMuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBlbWl0VHJhc2hFdmVudChldmVudDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbXTtcclxuICAgIHRoaXMuc2hvd1RyYXNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG4gIHB1YmxpYyBlbWl0Q3JlYXRlRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUNsaWNrZWQuZW1pdCh0cnVlKTtcclxuICB9XHJcbiAgcHVibGljIGVtaXRSZWZyZXNoRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2hEYXRhLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG5cclxuICAgIHRoaXMuc2VhcmNoU3RyaW5nU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hTdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IHNlYXJjaFN0cmluZztcclxuICAgICAgICB0aGlzLmZpcnN0ID0gMDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgY29uc3QgbmF2ID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcclxuICAgIGlmIChuYXY/LmV4dHJhcy5zdGF0ZSAmJiBuYXYuZXh0cmFzLnN0YXRlWydzZWxlY3RlZENhdGVnb3J5J10pIHtcclxuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBuYXYuZXh0cmFzLnN0YXRlWydzZWxlY3RlZENhdGVnb3J5J107XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlTZWxlY3RlZChjYXRlZ29yeSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVzZXJGaWx0ZXJMaXN0OiBGaWx0ZXJEYXRhUmVxdWVzdFtdID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IE5hbWUgQXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzEyMycsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdOYW1lJyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0NvbnRhaW5zJyxcclxuICAgICAgICAgIHZhbHVlczogWydKb2huJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnTmFtZScsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnQXNjZW5kaW5nJyxcclxuICAgICAgfSxcclxuICAgICAgb3JkZXI6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IERlcGFydG1lbnQgYW5kIFNhbGFyeSBEZXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzQ1NicsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdEZXBhcnRtZW50JyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0VxdWFscycsXHJcbiAgICAgICAgICB2YWx1ZXM6IFsnSVQnXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ1NhbGFyeScsXHJcbiAgICAgICAgICBvcGVyYXRvclR5cGU6ICdHcmVhdGVyVGhhbicsXHJcbiAgICAgICAgICB2YWx1ZXM6IFs1MDAwMF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnU2FsYXJ5JyxcclxuICAgICAgICBkaXJlY3Rpb246ICdEZXNjZW5kaW5nJyxcclxuICAgICAgfSxcclxuICAgICAgb3JkZXI6IDIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VhcmNoKGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtID0gZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2VhcmNoVGVybSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHZhbGlkYXRlQ29uZmlnKCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXQoJy9hc3NldHMvc2VhcmNoRGF0YS5qc29uJykuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGRhdGEgYXMgU2VhcmNoUmVzdWx0W107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhdGVnb3J5U2VsZWN0ZWQoY2F0ZWdvcnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gY2F0ZWdvcnk7XHJcbiAgICBpZiAoY2F0ZWdvcnkpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlcmVkRGF0YS5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gaXRlbS5zZWN0aW9uID09PSBjYXRlZ29yeTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWFyY2hTdHJpbmcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT5cclxuICAgICAgICBpdGVtLnRleHQudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHRoaXMuc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVNlYXJjaFN0cmluZ0NoYW5nZSgkZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWFyY2hTdHJpbmcgPSAkZXZlbnQ7XHJcbiAgICBpZiAoJGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PlxyXG4gICAgICAgIGl0ZW0udGV4dC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJGV2ZW50LnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgJiYgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA/ICh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPT0gaXRlbS5zZWN0aW9uKSA6IHRydWUpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbXTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWFyY2hzKHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU3RyaW5nU3ViamVjdC5uZXh0KHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIC8vTkFWSUdBVElPTlNcclxuICBuYXZUb0JhY2sgPSAoKSA9PiB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICBjbGVhcigpOiB2b2lkIHsgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluLXNlYXJjaC1zY3JlZW4gcHQtNSBweC00XCI+XHJcbiAgPGRpdiBjbGFzcz1cInN1Yi1zY3JlZW5cIj5cclxuICAgIDxsaWItc2VhcmNoLWJhciBjbGFzcz1cInNlYXJjaC1maWVsZFwiIFtwbGFjZWhvbGRlclRleHRdPVwiJ1NFQVJDSF9JVElORVJBUklFUycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAoc2VhcmNoU3RyaW5nQ2hhbmdlKT1cImhhbmRsZVNlYXJjaFN0cmluZ0NoYW5nZSgkZXZlbnQpXCIgKGNsZWFyZWQpPVwiY2xlYXIoKVwiIFtzZWFyY2hJY29uXT1cIklDT05TWydkYXNoYm9hcmRTZWFyY2gnXVwiPlxyXG4gICAgPC9saWItc2VhcmNoLWJhcj5cclxuICAgIDxhcHAtc2VhcmNoLWNoaXBzIFtzZWxlY3RlZENoaXBdPVwic2VsZWN0ZWRDYXRlZ29yeVwiIChjaGlwSXRlbVNlbGVjdGVkKT1cImNhdGVnb3J5U2VsZWN0ZWQoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1jaGlwcz5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2VhcmNoaW5nXCI+XHJcbiAgICAgICAgPGFwcC1zZWFyY2gtcmVzdWx0cyBbZGF0YV09XCJmaWx0ZXJlZERhdGFcIj48L2FwcC1zZWFyY2gtcmVzdWx0cz5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxhcHAtcmVjZW50LXNlYXJjaGVzICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+PC9hcHAtcmVjZW50LXNlYXJjaGVzPlxyXG4gICAgICA8YXBwLXNlcmFjaC1jbGVhci1oaXN0b3J5ICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+PC9hcHAtc2VyYWNoLWNsZWFyLWhpc3Rvcnk+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdCBib3JkZXItZ3JheS03MDAgbXQtMlwiICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+PC9kaXY+XHJcbiAgICAgIDxhcHAtcXVpY2stYWN0aW9ucyBbaGlkZGVuXT1cInNlYXJjaFN0cmluZyAmJiAhc2VsZWN0ZWRDYXRlZ29yeVwiPjwvYXBwLXF1aWNrLWFjdGlvbnM+XHJcbiAgICAgIDxhcHAtc2VyYWNoLWJvdHRvbS1iYXI+PC9hcHAtc2VyYWNoLWJvdHRvbS1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9zZWFyY2gvcGFnZXMvbWFpbi1zZWFyY2gvbWFpbi1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9zZWFyY2gvcGFnZXMvbWFpbi1zZWFyY2gvbWFpbi1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWEvRSxNQUFNLE9BQU8sbUJBQW1CO0lBOERWO0lBQ1Y7SUFDQTtJQUNBO0lBaEVWLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRXhCLElBQUksR0FBbUIsRUFBRSxDQUFDO0lBQzFCLFlBQVksR0FBbUIsRUFBRSxDQUFDO0lBQ3pCLGtCQUFrQixHQUFXLEVBQUUsQ0FBQztJQUNoQyx3QkFBd0IsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMx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ZixLQUFLOzJKQWlCVixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi9faW50ZXJmYWNlL3NlYXJjaFJlc3VsdHMnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEVkaXRDb21wbGV0ZUV2ZW50LCBHcmlkQ29sdW1uQ2hhbmdlLCBHcmlkRGF0YVJlcXVlc3R9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRmlsdGVyRGF0YVJlcXVlc3QsIFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc2VsZWN0b3I6ICdhcHAtbWFpbi1zZWFyY2gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21haW4tc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9tYWluLXNlYXJjaC5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFpblNlYXJjaENvbXBvbmVudCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgaXNTZWFyY2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgZGF0YTogU2VhcmNoUmVzdWx0W10gPSBbXTtcclxuICBmaWx0ZXJlZERhdGE6IFNlYXJjaFJlc3VsdFtdID0gW107XHJcbiAgcmVhZG9ubHkgZGVmYXVsdFJvd3NQZXJQYWdlOiBudW1iZXIgPSAxMDtcclxuICByZWFkb25seSBkZWZhdWx0Um93UGVyUGFnZU9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyNSwgNTBdO1xyXG4gIHB1YmxpYyBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzZWxlY3RlZENhdGVnb3J5OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIGNvbXBvbmVudERlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIHNlYXJjaFN0cmluZ1N1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIEBJbnB1dCgpIGVuYWJsZVNlbGVjdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZW5hYmxlR3JpZEZpbHRlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGVuYWJsZUNyZWF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVJlZnJlc2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVUcmFzaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSByb3dzUGVyUGFnZTogbnVtYmVyID0gdGhpcy5kZWZhdWx0Um93c1BlclBhZ2U7XHJcbiAgQElucHV0KCkgZmlyc3Q6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgcm93c1BlclBhZ2VPcHRpb25zOiBudW1iZXJbXSA9IHRoaXMuZGVmYXVsdFJvd1BlclBhZ2VPcHRpb25zO1xyXG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgY3VycmVuY3lEaXNwbGF5Q29kZTogc3RyaW5nID0gJ1VTRCc7XHJcbiAgQElucHV0KCkgbWluaW11bUNvbHVtbldpZHRoOiBudW1iZXIgPSAtMTtcclxuXHJcbiAgQE91dHB1dCgpIGxhenlMb2FkOiBFdmVudEVtaXR0ZXI8R3JpZERhdGFSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZERhdGFSZXF1ZXN0PigpO1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8R3JpZENvbHVtbkNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRDb2x1bW5DaGFuZ2U+KCk7XHJcbiAgQE91dHB1dCgpIGVkaXRDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEVkaXRDb21wbGV0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RWRpdENvbXBsZXRlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGVkaXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0QWxsUGFnZXM6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgY3JlYXRlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSByZWZyZXNoRGF0YTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzaG93VHJhc2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgZXhjbHVkZUl0ZW06IEV2ZW50RW1pdHRlcjwoc3RyaW5nIHwgbnVtYmVyKVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8KHN0cmluZyB8IG51bWJlcilbXT4oKTtcclxuICBASW5wdXQoKSBpc0VkaXRJblByb2dyZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLy8gT3B0aW9uYWw6IGlmIHVzaW5nIHVzZXJGaWx0ZXJcclxuICBAT3V0cHV0KCkgdXNlckZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcHVibGljRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgICBvcGVyYXRvclR5cGU6IHN0cmluZztcclxuICAgIHZhbHVlczogc3RyaW5nW107XHJcbiAgfT4oKTtcclxuICBmaWx0ZXJzc3M6IFNlbGVjdE9wdGlvbjxudW1iZXI+W10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGxhYmVsOiAnSGVsbG8nLFxyXG4gICAgICB2YWx1ZTogMixcclxuICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgdmlzaWJsZUNvbW1lbnRzOiBTYWZlSHRtbFtdID0gW107XHJcblxyXG4gIG9uU2VsZWN0QWxsUGFnZXMoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsUGFnZXMuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBlbWl0VHJhc2hFdmVudChldmVudDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbXTtcclxuICAgIHRoaXMuc2hvd1RyYXNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG4gIHB1YmxpYyBlbWl0Q3JlYXRlRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUNsaWNrZWQuZW1pdCh0cnVlKTtcclxuICB9XHJcbiAgcHVibGljIGVtaXRSZWZyZXNoRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2hEYXRhLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG5cclxuICAgIHRoaXMuc2VhcmNoU3RyaW5nU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hTdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IHNlYXJjaFN0cmluZztcclxuICAgICAgICB0aGlzLmZpcnN0ID0gMDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgY29uc3QgbmF2ID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcclxuICAgIGlmIChuYXY/LmV4dHJhcy5zdGF0ZSAmJiBuYXYuZXh0cmFzLnN0YXRlWydzZWxlY3RlZENhdGVnb3J5J10pIHtcclxuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBuYXYuZXh0cmFzLnN0YXRlWydzZWxlY3RlZENhdGVnb3J5J107XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlTZWxlY3RlZChjYXRlZ29yeSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVzZXJGaWx0ZXJMaXN0OiBGaWx0ZXJEYXRhUmVxdWVzdFtdID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IE5hbWUgQXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzEyMycsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdOYW1lJyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0NvbnRhaW5zJyxcclxuICAgICAgICAgIHZhbHVlczogWydKb2huJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnTmFtZScsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnQXNjZW5kaW5nJyxcclxuICAgICAgfSxcclxuICAgICAgb3JkZXI6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IERlcGFydG1lbnQgYW5kIFNhbGFyeSBEZXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzQ1NicsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdEZXBhcnRtZW50JyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0VxdWFscycsXHJcbiAgICAgICAgICB2YWx1ZXM6IFsnSVQnXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ1NhbGFyeScsXHJcbiAgICAgICAgICBvcGVyYXRvclR5cGU6ICdHcmVhdGVyVGhhbicsXHJcbiAgICAgICAgICB2YWx1ZXM6IFs1MDAwMF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnU2FsYXJ5JyxcclxuICAgICAgICBkaXJlY3Rpb246ICdEZXNjZW5kaW5nJyxcclxuICAgICAgfSxcclxuICAgICAgb3JkZXI6IDIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VhcmNoKGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtID0gZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2VhcmNoVGVybSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHZhbGlkYXRlQ29uZmlnKCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXQoJy9hc3NldHMvc2VhcmNoRGF0YS5qc29uJykuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGRhdGEgYXMgU2VhcmNoUmVzdWx0W107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhdGVnb3J5U2VsZWN0ZWQoY2F0ZWdvcnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gY2F0ZWdvcnk7XHJcbiAgICBpZiAoY2F0ZWdvcnkpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlcmVkRGF0YS5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gaXRlbS5zZWN0aW9uID09PSBjYXRlZ29yeTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWFyY2hTdHJpbmcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT5cclxuICAgICAgICBpdGVtLnRleHQudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHRoaXMuc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVNlYXJjaFN0cmluZ0NoYW5nZSgkZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWFyY2hTdHJpbmcgPSAkZXZlbnQ7XHJcbiAgICBpZiAoJGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PlxyXG4gICAgICAgIGl0ZW0udGV4dC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJGV2ZW50LnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgJiYgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA/ICh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPT0gaXRlbS5zZWN0aW9uKSA6IHRydWUpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbXTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWFyY2hzKHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU3RyaW5nU3ViamVjdC5uZXh0KHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIC8vTkFWSUdBVElPTlNcclxuICBuYXZUb0JhY2sgPSAoKSA9PiB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICBjbGVhcigpOiB2b2lkIHsgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluLXNlYXJjaC1zY3JlZW4gcHQtNSBweC00XCI+XHJcbiAgPGRpdiBjbGFzcz1cInN1Yi1zY3JlZW5cIj5cclxuICAgIDxhcHAtc2VhcmNoLWJhciBjbGFzcz1cInNlYXJjaC1maWVsZFwiIFtwbGFjZWhvbGRlclRleHRdPVwiJ1NFQVJDSF9JVElORVJBUklFUycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAoc2VhcmNoU3RyaW5nQ2hhbmdlKT1cImhhbmRsZVNlYXJjaFN0cmluZ0NoYW5nZSgkZXZlbnQpXCIgKGNsZWFyZWQpPVwiY2xlYXIoKVwiIFtzZWFyY2hJY29uXT1cIklDT05TWydkYXNoYm9hcmRTZWFyY2gnXVwiPlxyXG4gICAgPC9hcHAtc2VhcmNoLWJhcj5cclxuICAgIDxhcHAtc2VhcmNoLWNoaXBzIFtzZWxlY3RlZENoaXBdPVwic2VsZWN0ZWRDYXRlZ29yeVwiIChjaGlwSXRlbVNlbGVjdGVkKT1cImNhdGVnb3J5U2VsZWN0ZWQoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1jaGlwcz5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2VhcmNoaW5nXCI+XHJcbiAgICAgICAgPGFwcC1zZWFyY2gtcmVzdWx0cyBbZGF0YV09XCJmaWx0ZXJlZERhdGFcIj48L2FwcC1zZWFyY2gtcmVzdWx0cz5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxhcHAtcmVjZW50LXNlYXJjaGVzICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+PC9hcHAtcmVjZW50LXNlYXJjaGVzPlxyXG4gICAgICA8YXBwLXNlcmFjaC1jbGVhci1oaXN0b3J5ICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+PC9hcHAtc2VyYWNoLWNsZWFyLWhpc3Rvcnk+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdCBib3JkZXItZ3JheS03MDAgbXQtMlwiICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+PC9kaXY+XHJcbiAgICAgIDxhcHAtcXVpY2stYWN0aW9ucyBbaGlkZGVuXT1cInNlYXJjaFN0cmluZyAmJiAhc2VsZWN0ZWRDYXRlZ29yeVwiPjwvYXBwLXF1aWNrLWFjdGlvbnM+XHJcbiAgICAgIDxhcHAtc2VyYWNoLWJvdHRvbS1iYXI+PC9hcHAtc2VyYWNoLWJvdHRvbS1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@naniteninja/ionic-lib";
|
|
5
|
+
import * as i3 from "@ionic/angular";
|
|
6
|
+
export class BottomModalComponent {
|
|
7
|
+
isOpen = false;
|
|
8
|
+
submitButtonTitle = '';
|
|
9
|
+
showArrow = false;
|
|
10
|
+
adaptToContentHeight = false;
|
|
11
|
+
customClass = '';
|
|
12
|
+
isOpenChange = new EventEmitter();
|
|
13
|
+
submitModal = new EventEmitter();
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
// lib-bottom-modal handles its own modal state internally
|
|
16
|
+
}
|
|
17
|
+
ngOnChanges() {
|
|
18
|
+
// lib-bottom-modal handles its own modal state internally
|
|
19
|
+
// No need to trigger change detection here as it causes timing issues
|
|
20
|
+
}
|
|
21
|
+
ngAfterContentInit() {
|
|
22
|
+
// Content projection is handled automatically by Angular
|
|
23
|
+
}
|
|
24
|
+
ngOnDestroy() {
|
|
25
|
+
// Cleanup if needed
|
|
26
|
+
}
|
|
27
|
+
onIsOpenChange(isOpen) {
|
|
28
|
+
this.isOpen = isOpen;
|
|
29
|
+
this.isOpenChange.emit(isOpen);
|
|
30
|
+
}
|
|
31
|
+
onSubmit() {
|
|
32
|
+
this.submitModal.emit();
|
|
33
|
+
}
|
|
34
|
+
get modalCssClasses() {
|
|
35
|
+
const classes = ['app-bottom-modal'];
|
|
36
|
+
if (this.adaptToContentHeight) {
|
|
37
|
+
classes.push('adapt-to-content-height');
|
|
38
|
+
}
|
|
39
|
+
if (this.customClass) {
|
|
40
|
+
classes.push(this.customClass);
|
|
41
|
+
}
|
|
42
|
+
return classes.join(' ');
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BottomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BottomModalComponent, selector: "app-bottom-modal", inputs: { isOpen: "isOpen", submitButtonTitle: "submitButtonTitle", showArrow: "showArrow", adaptToContentHeight: "adaptToContentHeight", customClass: "customClass" }, outputs: { isOpenChange: "isOpenChange", submitModal: "submitModal" }, usesOnChanges: true, ngImport: i0, template: "<lib-bottom-modal\r\n [isOpen]=\"isOpen\"\r\n (isOpenChange)=\"onIsOpenChange($event)\"\r\n [customClass]=\"modalCssClasses\"\r\n [showArrow]=\"showArrow\"\r\n [adaptToContentHeight]=\"adaptToContentHeight\"\r\n [submitButtonTitle]=\"submitButtonTitle\"\r\n (submitModal)=\"onSubmit()\"\r\n>\r\n <ng-content></ng-content>\r\n <div *ngIf=\"submitButtonTitle\" class=\"modal-actions app-bottom-modal-actions\">\r\n <ion-button (click)=\"onSubmit()\" expand=\"block\" class=\"submit-button\">\r\n {{ submitButtonTitle }}\r\n </ion-button>\r\n </div>\r\n</lib-bottom-modal>\r\n", styles: [".app-bottom-modal{--width: 100%;--max-width: var(--app-bottom-modal-max-width, 500px);--height: auto;--border-radius: 20px 20px 0 0;--box-shadow: none}::ng-deep .app-bottom-modal .modal-wrapper{background:transparent!important;box-shadow:none!important}::ng-deep .app-bottom-modal ion-content{--background: transparent}::ng-deep .app-bottom-modal .modal-wrapper .ion-page{background:transparent}::ng-deep .app-bottom-modal .wrapper{padding:0;margin:0;display:block;width:100%;height:100%}::ng-deep .app-bottom-modal .dynamic-content{padding:0;margin:0;display:block;width:100%;min-height:100px}::ng-deep .app-bottom-modal.adapt-to-content-height .wrapper .dynamic-content{margin-top:30px}::ng-deep .app-bottom-modal .modal-actions,::ng-deep .app-bottom-modal-actions{padding:16px;margin-top:auto;background-color:transparent}::ng-deep .app-bottom-modal .submit-button{--border-radius: 12px;margin:0}::ng-deep .app-bottom-modal .modal-handle{display:block}::ng-deep .app-bottom-modal[style*=\"display: none\"] .modal-handle{display:none}::ng-deep .app-bottom-modal-loader{display:none!important}::ng-deep .app-bottom-modal-header{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BottomModalComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'app-bottom-modal', template: "<lib-bottom-modal\r\n [isOpen]=\"isOpen\"\r\n (isOpenChange)=\"onIsOpenChange($event)\"\r\n [customClass]=\"modalCssClasses\"\r\n [showArrow]=\"showArrow\"\r\n [adaptToContentHeight]=\"adaptToContentHeight\"\r\n [submitButtonTitle]=\"submitButtonTitle\"\r\n (submitModal)=\"onSubmit()\"\r\n>\r\n <ng-content></ng-content>\r\n <div *ngIf=\"submitButtonTitle\" class=\"modal-actions app-bottom-modal-actions\">\r\n <ion-button (click)=\"onSubmit()\" expand=\"block\" class=\"submit-button\">\r\n {{ submitButtonTitle }}\r\n </ion-button>\r\n </div>\r\n</lib-bottom-modal>\r\n", styles: [".app-bottom-modal{--width: 100%;--max-width: var(--app-bottom-modal-max-width, 500px);--height: auto;--border-radius: 20px 20px 0 0;--box-shadow: none}::ng-deep .app-bottom-modal .modal-wrapper{background:transparent!important;box-shadow:none!important}::ng-deep .app-bottom-modal ion-content{--background: transparent}::ng-deep .app-bottom-modal .modal-wrapper .ion-page{background:transparent}::ng-deep .app-bottom-modal .wrapper{padding:0;margin:0;display:block;width:100%;height:100%}::ng-deep .app-bottom-modal .dynamic-content{padding:0;margin:0;display:block;width:100%;min-height:100px}::ng-deep .app-bottom-modal.adapt-to-content-height .wrapper .dynamic-content{margin-top:30px}::ng-deep .app-bottom-modal .modal-actions,::ng-deep .app-bottom-modal-actions{padding:16px;margin-top:auto;background-color:transparent}::ng-deep .app-bottom-modal .submit-button{--border-radius: 12px;margin:0}::ng-deep .app-bottom-modal .modal-handle{display:block}::ng-deep .app-bottom-modal[style*=\"display: none\"] .modal-handle{display:none}::ng-deep .app-bottom-modal-loader{display:none!important}::ng-deep .app-bottom-modal-header{display:none!important}\n"] }]
|
|
50
|
+
}], propDecorators: { isOpen: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], submitButtonTitle: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], showArrow: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], adaptToContentHeight: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], customClass: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], isOpenChange: [{
|
|
61
|
+
type: Output
|
|
62
|
+
}], submitModal: [{
|
|
63
|
+
type: Output
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL3NoYXJlZC9ib3R0b20tbW9kYWwvYm90dG9tLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL3NoYXJlZC9ib3R0b20tbW9kYWwvYm90dG9tLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBS2IsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixpQkFBaUIsR0FBVyxFQUFFLENBQUM7SUFDL0IsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUMzQixvQkFBb0IsR0FBWSxLQUFLLENBQUM7SUFDdEMsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUV4QixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUMzQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVqRCxRQUFRO1FBQ04sMERBQTBEO0lBQzVELENBQUM7SUFFRCxXQUFXO1FBQ1QsMERBQTBEO1FBQzFELHNFQUFzRTtJQUN4RSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLHlEQUF5RDtJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULG9CQUFvQjtJQUN0QixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWU7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQztRQUNELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO3dHQTdDVSxvQkFBb0I7NEZBQXBCLG9CQUFvQiw0VENoQmpDLG9sQkFnQkE7OzRGREFhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBcclxuICBDb21wb25lbnQsIFxyXG4gIElucHV0LCBcclxuICBPdXRwdXQsIFxyXG4gIEV2ZW50RW1pdHRlciwgXHJcbiAgT25Jbml0LCBcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25DaGFuZ2VzLFxyXG4gIEFmdGVyQ29udGVudEluaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJvdHRvbS1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JvdHRvbS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JvdHRvbS1tb2RhbC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvdHRvbU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VibWl0QnV0dG9uVGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNob3dBcnJvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFkYXB0VG9Db250ZW50SGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBAT3V0cHV0KCkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBsaWItYm90dG9tLW1vZGFsIGhhbmRsZXMgaXRzIG93biBtb2RhbCBzdGF0ZSBpbnRlcm5hbGx5XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8vIGxpYi1ib3R0b20tbW9kYWwgaGFuZGxlcyBpdHMgb3duIG1vZGFsIHN0YXRlIGludGVybmFsbHlcclxuICAgIC8vIE5vIG5lZWQgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGhlcmUgYXMgaXQgY2F1c2VzIHRpbWluZyBpc3N1ZXNcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIENvbnRlbnQgcHJvamVjdGlvbiBpcyBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgYnkgQW5ndWxhclxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBDbGVhbnVwIGlmIG5lZWRlZFxyXG4gIH1cclxuXHJcbiAgb25Jc09wZW5DaGFuZ2UoaXNPcGVuOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcclxuICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJtaXRNb2RhbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9kYWxDc3NDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjbGFzc2VzID0gWydhcHAtYm90dG9tLW1vZGFsJ107XHJcbiAgICBpZiAodGhpcy5hZGFwdFRvQ29udGVudEhlaWdodCkge1xyXG4gICAgICBjbGFzc2VzLnB1c2goJ2FkYXB0LXRvLWNvbnRlbnQtaGVpZ2h0Jyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXN0b21DbGFzcykge1xyXG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5jdXN0b21DbGFzcyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxsaWItYm90dG9tLW1vZGFsXHJcbiAgW2lzT3Blbl09XCJpc09wZW5cIlxyXG4gIChpc09wZW5DaGFuZ2UpPVwib25Jc09wZW5DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW2N1c3RvbUNsYXNzXT1cIm1vZGFsQ3NzQ2xhc3Nlc1wiXHJcbiAgW3Nob3dBcnJvd109XCJzaG93QXJyb3dcIlxyXG4gIFthZGFwdFRvQ29udGVudEhlaWdodF09XCJhZGFwdFRvQ29udGVudEhlaWdodFwiXHJcbiAgW3N1Ym1pdEJ1dHRvblRpdGxlXT1cInN1Ym1pdEJ1dHRvblRpdGxlXCJcclxuICAoc3VibWl0TW9kYWwpPVwib25TdWJtaXQoKVwiXHJcbj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPGRpdiAqbmdJZj1cInN1Ym1pdEJ1dHRvblRpdGxlXCIgY2xhc3M9XCJtb2RhbC1hY3Rpb25zIGFwcC1ib3R0b20tbW9kYWwtYWN0aW9uc1wiPlxyXG4gICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uU3VibWl0KClcIiBleHBhbmQ9XCJibG9ja1wiIGNsYXNzPVwic3VibWl0LWJ1dHRvblwiPlxyXG4gICAgICB7eyBzdWJtaXRCdXR0b25UaXRsZSB9fVxyXG4gICAgPC9pb24tYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2xpYi1ib3R0b20tbW9kYWw+XHJcbiJdfQ==
|
|
@@ -4,7 +4,8 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../_services/api.service";
|
|
5
5
|
import * as i2 from "@naniteninja/ionic-lib";
|
|
6
6
|
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "
|
|
7
|
+
import * as i4 from "../icon-button/icon-button.component";
|
|
8
|
+
import * as i5 from "@ngx-translate/core";
|
|
8
9
|
export class CardComponent {
|
|
9
10
|
apiService;
|
|
10
11
|
libMenuItem;
|
|
@@ -104,11 +105,11 @@ export class CardComponent {
|
|
|
104
105
|
this.messageClicked.emit();
|
|
105
106
|
}
|
|
106
107
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardComponent, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardComponent, selector: "app-card-component", inputs: { libMenuItem: "libMenuItem", isDraft: "isDraft", itineraryStarted: "itineraryStarted" }, outputs: { StartItineraryClick: "StartItineraryClick", TitleClicked: "TitleClicked", forkClicked: "forkClicked", messageClicked: "messageClicked" }, ngImport: i0, template: "<lib-base-card\r\n *ngIf=\"processedCardData\"\r\n class=\"card-component px-4 py-4 my-2 rounded-lg outset-downshadow\"\r\n>\r\n <div class=\"flex items-start justify-between mb-2\">\r\n <div class=\"flex gap-5 items-start\">\r\n <div\r\n [class]=\"\r\n !isDraft\r\n ? ' text-primary'\r\n : '' +\r\n ' items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px]'\r\n \"\r\n >\r\n <img [src]=\"!isDraft ? ICONS['upvote'] : ICONS['upArrowWhite']\" alt=\"\" />\r\n <span [class]=\"!isDraft ? 'text-primary' : 'drah-voter-header'\">\r\n {{ processedCardData.upVotes }}\r\n </span>\r\n <img [src]=\"ICONS['downvote']\" alt=\"\" />\r\n </div>\r\n <div class=\"\">\r\n <h4 class=\"title medium-14 p-0 m-0\" (click)=\"handleTitleClick()\">\r\n {{ processedCardData.title }}\r\n </h4>\r\n <h5\r\n class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\"\r\n >\r\n <img [src]=\"ICONS['user']\" alt=\"\" />\r\n <span\r\n >{{ processedCardData.userName }} -\r\n {{ processedCardData.timeAgo }}</span\r\n >\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"draft-header\" *ngIf=\"processedCardData.isDraft\">\r\n Draft Saved\r\n </div>\r\n\r\n <div class=\"flex items-center\">\r\n <div\r\n *ngIf=\"itineraryStarted\"\r\n (click)=\"handleStartItineraryClick()\"\r\n class=\"startItinerary\"\r\n >\r\n <img [src]=\"ICONS['startItinerary']\" alt=\"icon\" />\r\n </div>\r\n <
|
|
108
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardComponent, selector: "app-card-component", inputs: { libMenuItem: "libMenuItem", isDraft: "isDraft", itineraryStarted: "itineraryStarted" }, outputs: { StartItineraryClick: "StartItineraryClick", TitleClicked: "TitleClicked", forkClicked: "forkClicked", messageClicked: "messageClicked" }, ngImport: i0, template: "<lib-base-card\r\n *ngIf=\"processedCardData\"\r\n class=\"card-component px-4 py-4 my-2 rounded-lg outset-downshadow\"\r\n>\r\n <div class=\"flex items-start justify-between mb-2\">\r\n <div class=\"flex gap-5 items-start\">\r\n <div\r\n [class]=\"\r\n !isDraft\r\n ? ' text-primary'\r\n : '' +\r\n ' items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px]'\r\n \"\r\n >\r\n <img [src]=\"!isDraft ? ICONS['upvote'] : ICONS['upArrowWhite']\" alt=\"\" />\r\n <span [class]=\"!isDraft ? 'text-primary' : 'drah-voter-header'\">\r\n {{ processedCardData.upVotes }}\r\n </span>\r\n <img [src]=\"ICONS['downvote']\" alt=\"\" />\r\n </div>\r\n <div class=\"\">\r\n <h4 class=\"title medium-14 p-0 m-0\" (click)=\"handleTitleClick()\">\r\n {{ processedCardData.title }}\r\n </h4>\r\n <h5\r\n class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\"\r\n >\r\n <img [src]=\"ICONS['user']\" alt=\"\" />\r\n <span\r\n >{{ processedCardData.userName }} -\r\n {{ processedCardData.timeAgo }}</span\r\n >\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"draft-header\" *ngIf=\"processedCardData.isDraft\">\r\n Draft Saved\r\n </div>\r\n\r\n <div class=\"flex items-center\">\r\n <div\r\n *ngIf=\"itineraryStarted\"\r\n (click)=\"handleStartItineraryClick()\"\r\n class=\"startItinerary\"\r\n >\r\n <img [src]=\"ICONS['startItinerary']\" alt=\"icon\" />\r\n </div>\r\n <app-icon-button\r\n (select)=\"handleMenueItemSelect()\"\r\n (buttonClick)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItem\"\r\n [buttonIcon]=\"ICONS['horizontal']\"\r\n ></app-icon-button>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 mb-1 flex items-start gap-x-5\">\r\n <div class=\"1 mb-0 flex flex-col items-center justify-center\">\r\n <img\r\n [class]=\"isDraft ? 'draf-location-image' : ''\"\r\n [src]=\"processedCardData.imageSrc\"\r\n alt=\"\"\r\n width=\"100\"\r\n />\r\n </div>\r\n <div class=\"2\">\r\n <div\r\n *ngIf=\"!cardData?.isDraft\"\r\n class=\"font-normal text-secondary flex items-center gap-x-4 text-sm\"\r\n >\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn1\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn2\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <p *ngIf=\"processedCardData.isDraft\" class=\"text-xs draft-description\">\r\n {{ \"FINISH_ITINERARY_CREATION\" | translate }}\r\n </p>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 flex items-center justify-between\">\r\n <div\r\n class=\"flex items-center justify-between sm:gap-x-7 xs:gap-x-5 sm:text-sm xs:text-[9px] text-secondary\"\r\n >\r\n <div class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['eye']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.views }}</span>\r\n </div>\r\n <div\r\n (click)=\"handleMessageClicked()\"\r\n class=\"flex items-center gap-x-[6px]\"\r\n >\r\n <img class=\"bottom-icons\" [src]=\"ICONS['comment2']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.comments }}</span>\r\n </div>\r\n <div (click)=\"handleForkClick()\" class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['fork']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.shares }}</span>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-2\">\r\n <span class=\"text-xs userIconText\">\r\n {{ processedCardData.users }}\r\n <span class=\"user-icon-text\" *ngIf=\"processedCardData.users > 0\"\r\n >Users</span\r\n >\r\n </span>\r\n <img [src]=\"processedCardData.userimageSrc\" alt=\"\" />\r\n </div>\r\n </div>\r\n</lib-base-card>\r\n", styles: [".card-component{width:200px!important;height:300px!important;background:#27242c}.bottom-tags{font-size:12px}.text-primary{font-size:10px}.draft-header{color:#bdbdbd;font-weight:400!important;font-size:11px!important;margin-top:7px;position:relative;left:36px}.draft-description{color:#fff}.user-icon-text{color:#bdbdbd;margin-top:2px;font-size:13px}.bottom-icons{height:15px;width:16px}.bottom-icons:last-child{height:16px!important;width:17px!important}.draf-location-image{height:5rem;width:9rem}.bottom-bar-loc{background:#413f47!important;width:5rem!important;bottom:1rem!important}.location-item-main{font-size:12px}.location-item-main span{margin-top:2px;font-size:12px}.location-item span{color:#bbbabc!important;font-size:12px;margin-top:2px}.drah-voter-header{font-family:Gilroy-Thin;margin-top:5px!important}.title{font-family:var(--font-gilroy-bold)}.h-1{opacity:.1!important}.startItinerary{position:relative;top:-4px}\n"], dependencies: [{ kind: "component", type: i2.BaseCardComponent, selector: "lib-base-card" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconButtonComponent, selector: "app-icon-button", inputs: ["buttonIcon", "disableTextShadow", "class", "libMenuItems", "buttonText"], outputs: ["buttonClick", "select", "change"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
108
109
|
}
|
|
109
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardComponent, decorators: [{
|
|
110
111
|
type: Component,
|
|
111
|
-
args: [{ selector: 'app-card-component', standalone: false, template: "<lib-base-card\r\n *ngIf=\"processedCardData\"\r\n class=\"card-component px-4 py-4 my-2 rounded-lg outset-downshadow\"\r\n>\r\n <div class=\"flex items-start justify-between mb-2\">\r\n <div class=\"flex gap-5 items-start\">\r\n <div\r\n [class]=\"\r\n !isDraft\r\n ? ' text-primary'\r\n : '' +\r\n ' items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px]'\r\n \"\r\n >\r\n <img [src]=\"!isDraft ? ICONS['upvote'] : ICONS['upArrowWhite']\" alt=\"\" />\r\n <span [class]=\"!isDraft ? 'text-primary' : 'drah-voter-header'\">\r\n {{ processedCardData.upVotes }}\r\n </span>\r\n <img [src]=\"ICONS['downvote']\" alt=\"\" />\r\n </div>\r\n <div class=\"\">\r\n <h4 class=\"title medium-14 p-0 m-0\" (click)=\"handleTitleClick()\">\r\n {{ processedCardData.title }}\r\n </h4>\r\n <h5\r\n class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\"\r\n >\r\n <img [src]=\"ICONS['user']\" alt=\"\" />\r\n <span\r\n >{{ processedCardData.userName }} -\r\n {{ processedCardData.timeAgo }}</span\r\n >\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"draft-header\" *ngIf=\"processedCardData.isDraft\">\r\n Draft Saved\r\n </div>\r\n\r\n <div class=\"flex items-center\">\r\n <div\r\n *ngIf=\"itineraryStarted\"\r\n (click)=\"handleStartItineraryClick()\"\r\n class=\"startItinerary\"\r\n >\r\n <img [src]=\"ICONS['startItinerary']\" alt=\"icon\" />\r\n </div>\r\n <
|
|
112
|
+
args: [{ selector: 'app-card-component', standalone: false, template: "<lib-base-card\r\n *ngIf=\"processedCardData\"\r\n class=\"card-component px-4 py-4 my-2 rounded-lg outset-downshadow\"\r\n>\r\n <div class=\"flex items-start justify-between mb-2\">\r\n <div class=\"flex gap-5 items-start\">\r\n <div\r\n [class]=\"\r\n !isDraft\r\n ? ' text-primary'\r\n : '' +\r\n ' items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px]'\r\n \"\r\n >\r\n <img [src]=\"!isDraft ? ICONS['upvote'] : ICONS['upArrowWhite']\" alt=\"\" />\r\n <span [class]=\"!isDraft ? 'text-primary' : 'drah-voter-header'\">\r\n {{ processedCardData.upVotes }}\r\n </span>\r\n <img [src]=\"ICONS['downvote']\" alt=\"\" />\r\n </div>\r\n <div class=\"\">\r\n <h4 class=\"title medium-14 p-0 m-0\" (click)=\"handleTitleClick()\">\r\n {{ processedCardData.title }}\r\n </h4>\r\n <h5\r\n class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\"\r\n >\r\n <img [src]=\"ICONS['user']\" alt=\"\" />\r\n <span\r\n >{{ processedCardData.userName }} -\r\n {{ processedCardData.timeAgo }}</span\r\n >\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"draft-header\" *ngIf=\"processedCardData.isDraft\">\r\n Draft Saved\r\n </div>\r\n\r\n <div class=\"flex items-center\">\r\n <div\r\n *ngIf=\"itineraryStarted\"\r\n (click)=\"handleStartItineraryClick()\"\r\n class=\"startItinerary\"\r\n >\r\n <img [src]=\"ICONS['startItinerary']\" alt=\"icon\" />\r\n </div>\r\n <app-icon-button\r\n (select)=\"handleMenueItemSelect()\"\r\n (buttonClick)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItem\"\r\n [buttonIcon]=\"ICONS['horizontal']\"\r\n ></app-icon-button>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 mb-1 flex items-start gap-x-5\">\r\n <div class=\"1 mb-0 flex flex-col items-center justify-center\">\r\n <img\r\n [class]=\"isDraft ? 'draf-location-image' : ''\"\r\n [src]=\"processedCardData.imageSrc\"\r\n alt=\"\"\r\n width=\"100\"\r\n />\r\n </div>\r\n <div class=\"2\">\r\n <div\r\n *ngIf=\"!cardData?.isDraft\"\r\n class=\"font-normal text-secondary flex items-center gap-x-4 text-sm\"\r\n >\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn1\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn2\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <p *ngIf=\"processedCardData.isDraft\" class=\"text-xs draft-description\">\r\n {{ \"FINISH_ITINERARY_CREATION\" | translate }}\r\n </p>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 flex items-center justify-between\">\r\n <div\r\n class=\"flex items-center justify-between sm:gap-x-7 xs:gap-x-5 sm:text-sm xs:text-[9px] text-secondary\"\r\n >\r\n <div class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['eye']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.views }}</span>\r\n </div>\r\n <div\r\n (click)=\"handleMessageClicked()\"\r\n class=\"flex items-center gap-x-[6px]\"\r\n >\r\n <img class=\"bottom-icons\" [src]=\"ICONS['comment2']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.comments }}</span>\r\n </div>\r\n <div (click)=\"handleForkClick()\" class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['fork']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.shares }}</span>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-2\">\r\n <span class=\"text-xs userIconText\">\r\n {{ processedCardData.users }}\r\n <span class=\"user-icon-text\" *ngIf=\"processedCardData.users > 0\"\r\n >Users</span\r\n >\r\n </span>\r\n <img [src]=\"processedCardData.userimageSrc\" alt=\"\" />\r\n </div>\r\n </div>\r\n</lib-base-card>\r\n", styles: [".card-component{width:200px!important;height:300px!important;background:#27242c}.bottom-tags{font-size:12px}.text-primary{font-size:10px}.draft-header{color:#bdbdbd;font-weight:400!important;font-size:11px!important;margin-top:7px;position:relative;left:36px}.draft-description{color:#fff}.user-icon-text{color:#bdbdbd;margin-top:2px;font-size:13px}.bottom-icons{height:15px;width:16px}.bottom-icons:last-child{height:16px!important;width:17px!important}.draf-location-image{height:5rem;width:9rem}.bottom-bar-loc{background:#413f47!important;width:5rem!important;bottom:1rem!important}.location-item-main{font-size:12px}.location-item-main span{margin-top:2px;font-size:12px}.location-item span{color:#bbbabc!important;font-size:12px;margin-top:2px}.drah-voter-header{font-family:Gilroy-Thin;margin-top:5px!important}.title{font-family:var(--font-gilroy-bold)}.h-1{opacity:.1!important}.startItinerary{position:relative;top:-4px}\n"] }]
|
|
112
113
|
}], ctorParameters: () => [{ type: i1.ApiService }], propDecorators: { libMenuItem: [{
|
|
113
114
|
type: Input
|
|
114
115
|
}], isDraft: [{
|
|
@@ -124,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
124
125
|
}], messageClicked: [{
|
|
125
126
|
type: Output
|
|
126
127
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvc2hhcmVkL2NhcmQtY29tcG9uZW50L2NhcmQtY29tcG9uZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL3NoYXJlZC9jYXJkLWNvbXBvbmVudC9jYXJkLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBV25ELE1BQU0sT0FBTyxhQUFhO0lBMkJKO0lBMUJYLFdBQVcsQ0FBaUI7SUFDNUIsT0FBTyxDQUFXO0lBQzNCLFFBQVEsQ0FBd0I7SUFDaEMsaUJBQWlCLENBQXdCO0lBQ3pDLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDWixnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDakMsbUJBQW1CLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDbkUsWUFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzVELFdBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUMzRCxjQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFFeEUsb0JBQW9CLEdBQUc7UUFDckIsZUFBZSxFQUFFO1lBQ2YsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDdkMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFF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LEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDekQsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ2xELEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDM0QsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ3JELFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUMzRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUM3QyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQixLQUFVLENBQUM7SUFDaEMsb0JBQW9CLEtBQVUsQ0FBQztJQUMvQixlQUFlLEtBQVUsQ0FBQztJQUUxQixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0Qsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0F0R1UsYUFBYTs0RkFBYixhQUFhLGlUQ2IxQix1a0tBc0lBOzs0RkR6SGEsYUFBYTtrQkFOekIsU0FBUzsrQkFDSSxvQkFBb0IsY0FHbEIsS0FBSzsrRUFHVixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaWJNZW51SXRlbSB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInOyAgIFxyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSUNhcmREYXRhIH0gZnJvbSAnLi4vLi4vX2ludGVyZmFjZS9jYXJkRGF0YSc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWNhcmQtY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLWNvbXBvbmVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGxpYk1lbnVJdGVtITogTGliTWVudUl0ZW1bXTtcclxuICBASW5wdXQoKSBpc0RyYWZ0ITogYm9vbGVhbjtcclxuICBjYXJkRGF0YTogSUNhcmREYXRhIHwgdW5kZWZpbmVkO1xyXG4gIHByb2Nlc3NlZENhcmREYXRhOiBJQ2FyZERhdGEgfCB1bmRlZmluZWQ7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgQElucHV0KCkgaXRpbmVyYXJ5U3RhcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBTdGFydEl0aW5lcmFyeUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIFRpdGxlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JrQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBtZXNzYWdlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjYXJkRGF0YUZvckxvY2F0aW9ucyA9IHtcclxuICAgIGxvY2F0aW9uQ29sdW1uMTogW1xyXG4gICAgICB7IGljb246IElDT05TWyd0ZW1wJ10sIG5hbWU6ICdQYWxhY2UnIH0sXHJcbiAgICAgIHsgaWNvbjogSUNPTlNbJ3BhbGFjZTInXSwgbmFtZTogJ1RlbXBsYXRlJyB9LFxyXG4gICAgICB7IGljb246IElDT05TWydwYWxhY2UyJ10sIG5hbWU6ICdPcHRpb25hbCcgfSxcclxuICAgICAgeyBpY29uOiBJQ09OU1sncGFsYWNlMiddLCBuYW1lOiAnT3B0aW9uYWwnIH0sXHJcbiAgICBdLFxyXG4gICAgbG9jYXRpb25Db2x1bW4yOiBbXHJcbiAgICAgIHsgaWNvbjogSUNPTlNbJ2NvZmZlZSddLCBuYW1lOiAnQ29mZmVlIHNob3AnIH0sXHJcbiAgICAgIHsgaWNvbjogSUNPTlNbJ3RlbXBsYXRlJ10sIG5hbWU6ICdPcHRpb25hbCcgfSxcclxuICAgICAgeyBpY29uOiBJQ09OU1sndGVtcGxhdGUnXSwgbmFtZTogJ09wdGlvbmFsJyB9LFxyXG4gICAgICB7IGljb246IElDT05TWyd0ZW1wbGF0ZSddLCBuYW1lOiAnT3B0aW9uYWwnIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNEcmFmdCkge1xyXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0KCcvYXNzZXRzL2RhdGEuanNvbicpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2FyZERhdGEgPSBkYXRhIGFzIElDYXJkRGF0YTtcclxuICAgICAgICB0aGlzLnByb2Nlc3NlZENhcmREYXRhID0gdGhpcy5wcm9jZXNzQ2FyZERhdGEodGhpcy5jYXJkRGF0YSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYXJkRGF0YSA9IHtcclxuICAgICAgICBpZDogJzInLFxyXG4gICAgICAgIHVwVm90ZXM6ICcnLFxyXG4gICAgICAgIGRvd25Wb3RlczogNSxcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgdXNlck5hbWU6ICcnLFxyXG4gICAgICAgIHRpbWVBZ286ICcnLFxyXG4gICAgICAgIGxvY2F0aW9uOiAnJyxcclxuICAgICAgICB2aWV3czogMCxcclxuICAgICAgICBjb21tZW50czogMCxcclxuICAgICAgICBzaGFyZXM6IDAsXHJcbiAgICAgICAgdXNlcnM6IDAsXHJcbiAgICAgICAgaW1hZ2VTcmM6ICcnLFxyXG4gICAgICAgIHVzZXJpbWFnZVNyYzogJycsXHJcbiAgICAgICAgaXNEcmFmdDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5wcm9jZXNzZWRDYXJkRGF0YSA9IHRoaXMucHJvY2Vzc0NhcmREYXRhKHRoaXMuY2FyZERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBudWxsQ2hlY2soZGF0YTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZGF0YT8udG9TdHJpbmcoKS5sZW5ndGggPT0gMCB8fFxyXG4gICAgICBkYXRhID09IG51bGwgfHxcclxuICAgICAgZGF0YSA9PSB1bmRlZmluZWQgfHxcclxuICAgICAgZGF0YSA9PSAnMCcgfHxcclxuICAgICAgZGF0YSA9PSAwIHx8XHJcbiAgICAgIGRhdGEgPT0gJy0nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9jZXNzQ2FyZERhdGEoZGF0YTogSUNhcmREYXRhKTogSUNhcmREYXRhIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLmRhdGEsXHJcbiAgICAgIGlkOiBkYXRhLmlkLFxyXG4gICAgICB1cFZvdGVzOiB0aGlzLm51bGxDaGVjayhkYXRhLnVwVm90ZXMpID8gJzAwJyA6IGRhdGEudXBWb3RlcyxcclxuICAgICAgdGl0bGU6IHRoaXMubnVsbENoZWNrKGRhdGEudGl0bGUpID8gJ1VudGl0bGVkIEl0aW5lcmFyeScgOiBkYXRhLnRpdGxlLFxyXG4gICAgICB1c2VyTmFtZTogdGhpcy5udWxsQ2hlY2soZGF0YS51c2VyTmFtZSkgPyAnWW91JyA6IGRhdGEudXNlck5hbWUsXHJcbiAgICAgIHRpbWVBZ286IHRoaXMubnVsbENoZWNrKGRhdGEudGltZUFnbykgPyAnJyA6IGRhdGEudGltZUFnbyxcclxuICAgICAgdXNlcnM6IHRoaXMubnVsbENoZWNrKGRhdGEudXNlcnMpID8gMCA6IGRhdGEudXNlcnMsXHJcbiAgICAgIHZpZXdzOiB0aGlzLm51bGxDaGVjayhkYXRhLnZpZXdzKSA/IDAgOiBkYXRhLnZpZXdzLFxyXG4gICAgICBjb21tZW50czogdGhpcy5udWxsQ2hlY2soZGF0YS5jb21tZW50cykgPyAwIDogZGF0YS5jb21tZW50cyxcclxuICAgICAgc2hhcmVzOiB0aGlzLm51bGxDaGVjayhkYXRhLnNoYXJlcykgPyAwIDogZGF0YS5zaGFyZXMsXHJcbiAgICAgIGltYWdlU3JjOiB0aGlzLm51bGxDaGVjayhkYXRhLmltYWdlU3JjKSA/IElDT05TWyd1bnRpdGxlZCddIDogZGF0YS5pbWFnZVNyYyxcclxuICAgICAgdXNlcmltYWdlU3JjOiB0aGlzLm51bGxDaGVjayhkYXRhLnVzZXJpbWFnZVNyYylcclxuICAgICAgICA/IElDT05TWydub3RTcGVjaWZpZWQnXVxyXG4gICAgICAgIDogZGF0YS51c2VyaW1hZ2VTcmMsXHJcbiAgICAgIGxvY2F0aW9uOiB0aGlzLm51bGxDaGVjayhkYXRhLmxvY2F0aW9uKSA/ICdOb3QgU3BlY2lmaWVkJyA6IGRhdGEubG9jYXRpb24sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlTWVudWVJdGVtU2VsZWN0KCk6IHZvaWQge31cclxuICBoYW5kbGVNZW51SXRlbUNoYW5nZSgpOiB2b2lkIHt9XHJcbiAgaGFuZGxlTWVudUNsaWNrKCk6IHZvaWQge31cclxuXHJcbiAgaGFuZGxlRm9ya0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JrQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG4gIGhhbmRsZVN0YXJ0SXRpbmVyYXJ5Q2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLlN0YXJ0SXRpbmVyYXJ5Q2xpY2suZW1pdCgpO1xyXG4gIH1cclxuICBoYW5kbGVUaXRsZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5UaXRsZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuICBoYW5kbGVNZXNzYWdlQ2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bGliLWJhc2UtY2FyZFxyXG4gICpuZ0lmPVwicHJvY2Vzc2VkQ2FyZERhdGFcIlxyXG4gIGNsYXNzPVwiY2FyZC1jb21wb25lbnQgcHgtNCBweS00IG15LTIgcm91bmRlZC1sZyBvdXRzZXQtZG93bnNoYWRvd1wiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gbWItMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTUgaXRlbXMtc3RhcnRcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtjbGFzc109XCJcclxuICAgICAgICAgICFpc0RyYWZ0XHJcbiAgICAgICAgICAgID8gJyB0ZXh0LXByaW1hcnknXHJcbiAgICAgICAgICAgIDogJycgK1xyXG4gICAgICAgICAgICAgICcgaXRlbXMtY2VudGVyIHNtOnRleHQtWzEwcHhdIHhzOnRleHQtWzlweF0gZmxleCBmbGV4LWNvbCBnYXAteS1bMHB4XSdcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIiFpc0RyYWZ0ID8gSUNPTlNbJ3Vwdm90ZSddIDogSUNPTlNbJ3VwQXJyb3dXaGl0ZSddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwiIWlzRHJhZnQgPyAndGV4dC1wcmltYXJ5JyA6ICdkcmFoLXZvdGVyLWhlYWRlcidcIj5cclxuICAgICAgICAgIHt7IHByb2Nlc3NlZENhcmREYXRhLnVwVm90ZXMgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydkb3dudm90ZSddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8aDQgY2xhc3M9XCJ0aXRsZSBtZWRpdW0tMTQgcC0wIG0tMFwiIChjbGljayk9XCJoYW5kbGVUaXRsZUNsaWNrKClcIj5cclxuICAgICAgICAgIHt7IHByb2Nlc3NlZENhcmREYXRhLnRpdGxlIH19XHJcbiAgICAgICAgPC9oND5cclxuICAgICAgICA8aDVcclxuICAgICAgICAgIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgb3BhY2l0eS04MCB0ZXh0LVsxMHB4XSB4czp0ZXh0LVs5cHhdIGZsZXggZ2FwLVs2cHhdIGl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWyd1c2VyJ11cIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgPnt7IHByb2Nlc3NlZENhcmREYXRhLnVzZXJOYW1lIH19IC1cclxuICAgICAgICAgICAge3sgcHJvY2Vzc2VkQ2FyZERhdGEudGltZUFnbyB9fTwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvaDU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJhZnQtaGVhZGVyXCIgKm5nSWY9XCJwcm9jZXNzZWRDYXJkRGF0YS5pc0RyYWZ0XCI+XHJcbiAgICAgIERyYWZ0IFNhdmVkXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaXRpbmVyYXJ5U3RhcnRlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVN0YXJ0SXRpbmVyYXJ5Q2xpY2soKVwiXHJcbiAgICAgICAgY2xhc3M9XCJzdGFydEl0aW5lcmFyeVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ3N0YXJ0SXRpbmVyYXJ5J11cIiBhbHQ9XCJpY29uXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxsaWItbWVudS1idG5cclxuICAgICAgICAoc2VsZWN0KT1cImhhbmRsZU1lbnVlSXRlbVNlbGVjdCgpXCJcclxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlTWVudUNsaWNrKClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlTWVudUl0ZW1DaGFuZ2UoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJsaWItbWVudS1jdXN0b20tY2xhc3NcIlxyXG4gICAgICAgIFtkaXNhYmxlVGV4dFNoYWRvd109XCJ0cnVlXCJcclxuICAgICAgICBbbWVudUl0ZW1zXT1cImxpYk1lbnVJdGVtXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snaG9yaXpvbnRhbCddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgPC9saWItbWVudS1idG4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8aHIgY2xhc3M9XCJoLTEgdGV4dC1zZWNvbmRhcnkgb3BhY2l0eS0yNVwiIC8+XHJcbiAgPGRpdiBjbGFzcz1cIm15LTIgbWItMSBmbGV4IGl0ZW1zLXN0YXJ0IGdhcC14LTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCIxIG1iLTAgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgPGltZ1xyXG4gICAgICAgIFtjbGFzc109XCJpc0RyYWZ0ID8gJ2RyYWYtbG9jYXRpb24taW1hZ2UnIDogJydcIlxyXG4gICAgICAgIFtzcmNdPVwicHJvY2Vzc2VkQ2FyZERhdGEuaW1hZ2VTcmNcIlxyXG4gICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgd2lkdGg9XCIxMDBcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiMlwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCIhY2FyZERhdGE/LmlzRHJhZnRcIlxyXG4gICAgICAgIGNsYXNzPVwiZm9udC1ub3JtYWwgdGV4dC1zZWNvbmRhcnkgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtNCB0ZXh0LXNtXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLXktWzZweF0geHM6dGV4dC1bOXB4XSBzbTp0ZXh0LVsxMnB4XVwiPlxyXG4gICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBjYXJkRGF0YUZvckxvY2F0aW9ucy5sb2NhdGlvbkNvbHVtbjFcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImxvY2F0aW9uLWl0ZW0gZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwibG9jYXRpb24uaWNvblwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGUgc206bWF4LXctMTAgeHM6bWF4LXctMTFcIj57e1xyXG4gICAgICAgICAgICAgIGxvY2F0aW9uLm5hbWVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAteS1bNnB4XSB4czp0ZXh0LVs5cHhdIHNtOnRleHQtWzEycHhdXCI+XHJcbiAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxvY2F0aW9uIG9mIGNhcmREYXRhRm9yTG9jYXRpb25zLmxvY2F0aW9uQ29sdW1uMlwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibG9jYXRpb24taXRlbSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJsb2NhdGlvbi5pY29uXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZSBzbTptYXgtdy0xMCB4czptYXgtdy0xMVwiPnt7XHJcbiAgICAgICAgICAgICAgbG9jYXRpb24ubmFtZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxwICpuZ0lmPVwicHJvY2Vzc2VkQ2FyZERhdGEuaXNEcmFmdFwiIGNsYXNzPVwidGV4dC14cyBkcmFmdC1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgIHt7IFwiRklOSVNIX0lUSU5FUkFSWV9DUkVBVElPTlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxociBjbGFzcz1cImgtMSB0ZXh0LXNlY29uZGFyeSBvcGFjaXR5LTI1XCIgLz5cclxuICA8ZGl2IGNsYXNzPVwibXktMiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc206Z2FwLXgtNyB4czpnYXAteC01IHNtOnRleHQtc20geHM6dGV4dC1bOXB4XSB0ZXh0LXNlY29uZGFyeVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC1bNnB4XVwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJib3R0b20taWNvbnNcIiBbc3JjXT1cIklDT05TWydleWUnXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJib3R0b20tdGFnc1wiPnt7IHByb2Nlc3NlZENhcmREYXRhLnZpZXdzIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVNZXNzYWdlQ2xpY2tlZCgpXCJcclxuICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LVs2cHhdXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJib3R0b20taWNvbnNcIiBbc3JjXT1cIklDT05TWydjb21tZW50MiddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImJvdHRvbS10YWdzXCI+e3sgcHJvY2Vzc2VkQ2FyZERhdGEuY29tbWVudHMgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IChjbGljayk9XCJoYW5kbGVGb3JrQ2xpY2soKVwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtWzZweF1cIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwiYm90dG9tLWljb25zXCIgW3NyY109XCJJQ09OU1snZm9yayddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImJvdHRvbS10YWdzXCI+e3sgcHJvY2Vzc2VkQ2FyZERhdGEuc2hhcmVzIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTJcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIHVzZXJJY29uVGV4dFwiPlxyXG4gICAgICAgIHt7IHByb2Nlc3NlZENhcmREYXRhLnVzZXJzIH19XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyLWljb24tdGV4dFwiICpuZ0lmPVwicHJvY2Vzc2VkQ2FyZERhdGEudXNlcnMgPiAwXCJcclxuICAgICAgICAgID5Vc2Vyczwvc3BhblxyXG4gICAgICAgID5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8aW1nIFtzcmNdPVwicHJvY2Vzc2VkQ2FyZERhdGEudXNlcmltYWdlU3JjXCIgYWx0PVwiXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2xpYi1iYXNlLWNhcmQ+XHJcbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvc2hhcmVkL2NhcmQtY29tcG9uZW50L2NhcmQtY29tcG9uZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL3NoYXJlZC9jYXJkLWNvbXBvbmVudC9jYXJkLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQVduRCxNQUFNLE9BQU8sYUFBYTtJQTJCSjtJQTFCWCxXQUFXLENBQWlCO0lBQzVCLE9BQU8sQ0FBVztJQUMzQixRQUFRLENBQXdCO0lBQ2hDLGlCQUFpQixDQUF3QjtJQUN6QyxLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ1osZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2pDLG1CQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ25FLFlBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUM1RCxXQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDM0QsY0FBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXhFLG9CQUFvQixHQUFHO1FBQ3JCLGVBQWUsRUFBRTtZQUNmLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3ZDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFB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TyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ3pELEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDbEQsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzNELE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNyRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDM0UsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDN0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7U0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRCxxQkFBcUIsS0FBVSxDQUFDO0lBQ2hDLG9CQUFvQixLQUFVLENBQUM7SUFDL0IsZUFBZSxLQUFVLENBQUM7SUFFMUIsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELHlCQUF5QjtRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7d0dBdEdVLGFBQWE7NEZBQWIsYUFBYSxpVENiMUIsK2pLQXFJQTs7NEZEeEhhLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0ksb0JBQW9CLGNBR2xCLEtBQUs7K0VBR1YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBSUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliTWVudUl0ZW0gfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJzsgICBcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IElDYXJkRGF0YSB9IGZyb20gJy4uLy4uL19pbnRlcmZhY2UvY2FyZERhdGEnO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvYXBpLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jYXJkLWNvbXBvbmVudCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC1jb21wb25lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsaWJNZW51SXRlbSE6IExpYk1lbnVJdGVtW107XHJcbiAgQElucHV0KCkgaXNEcmFmdCE6IGJvb2xlYW47XHJcbiAgY2FyZERhdGE6IElDYXJkRGF0YSB8IHVuZGVmaW5lZDtcclxuICBwcm9jZXNzZWRDYXJkRGF0YTogSUNhcmREYXRhIHwgdW5kZWZpbmVkO1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIEBJbnB1dCgpIGl0aW5lcmFyeVN0YXJ0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgU3RhcnRJdGluZXJhcnlDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBUaXRsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgZm9ya0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgbWVzc2FnZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY2FyZERhdGFGb3JMb2NhdGlvbnMgPSB7XHJcbiAgICBsb2NhdGlvbkNvbHVtbjE6IFtcclxuICAgICAgeyBpY29uOiBJQ09OU1sndGVtcCddLCBuYW1lOiAnUGFsYWNlJyB9LFxyXG4gICAgICB7IGljb246IElDT05TWydwYWxhY2UyJ10sIG5hbWU6ICdUZW1wbGF0ZScgfSxcclxuICAgICAgeyBpY29uOiBJQ09OU1sncGFsYWNlMiddLCBuYW1lOiAnT3B0aW9uYWwnIH0sXHJcbiAgICAgIHsgaWNvbjogSUNPTlNbJ3BhbGFjZTInXSwgbmFtZTogJ09wdGlvbmFsJyB9LFxyXG4gICAgXSxcclxuICAgIGxvY2F0aW9uQ29sdW1uMjogW1xyXG4gICAgICB7IGljb246IElDT05TWydjb2ZmZWUnXSwgbmFtZTogJ0NvZmZlZSBzaG9wJyB9LFxyXG4gICAgICB7IGljb246IElDT05TWyd0ZW1wbGF0ZSddLCBuYW1lOiAnT3B0aW9uYWwnIH0sXHJcbiAgICAgIHsgaWNvbjogSUNPTlNbJ3RlbXBsYXRlJ10sIG5hbWU6ICdPcHRpb25hbCcgfSxcclxuICAgICAgeyBpY29uOiBJQ09OU1sndGVtcGxhdGUnXSwgbmFtZTogJ09wdGlvbmFsJyB9LFxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzRHJhZnQpIHtcclxuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldCgnL2Fzc2V0cy9kYXRhLmpzb24nKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmNhcmREYXRhID0gZGF0YSBhcyBJQ2FyZERhdGE7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzZWRDYXJkRGF0YSA9IHRoaXMucHJvY2Vzc0NhcmREYXRhKHRoaXMuY2FyZERhdGEpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FyZERhdGEgPSB7XHJcbiAgICAgICAgaWQ6ICcyJyxcclxuICAgICAgICB1cFZvdGVzOiAnJyxcclxuICAgICAgICBkb3duVm90ZXM6IDUsXHJcbiAgICAgICAgdGl0bGU6ICcnLFxyXG4gICAgICAgIHVzZXJOYW1lOiAnJyxcclxuICAgICAgICB0aW1lQWdvOiAnJyxcclxuICAgICAgICBsb2NhdGlvbjogJycsXHJcbiAgICAgICAgdmlld3M6IDAsXHJcbiAgICAgICAgY29tbWVudHM6IDAsXHJcbiAgICAgICAgc2hhcmVzOiAwLFxyXG4gICAgICAgIHVzZXJzOiAwLFxyXG4gICAgICAgIGltYWdlU3JjOiAnJyxcclxuICAgICAgICB1c2VyaW1hZ2VTcmM6ICcnLFxyXG4gICAgICAgIGlzRHJhZnQ6IHRydWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucHJvY2Vzc2VkQ2FyZERhdGEgPSB0aGlzLnByb2Nlc3NDYXJkRGF0YSh0aGlzLmNhcmREYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbnVsbENoZWNrKGRhdGE6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGRhdGE/LnRvU3RyaW5nKCkubGVuZ3RoID09IDAgfHxcclxuICAgICAgZGF0YSA9PSBudWxsIHx8XHJcbiAgICAgIGRhdGEgPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIGRhdGEgPT0gJzAnIHx8XHJcbiAgICAgIGRhdGEgPT0gMCB8fFxyXG4gICAgICBkYXRhID09ICctJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvY2Vzc0NhcmREYXRhKGRhdGE6IElDYXJkRGF0YSk6IElDYXJkRGF0YSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5kYXRhLFxyXG4gICAgICBpZDogZGF0YS5pZCxcclxuICAgICAgdXBWb3RlczogdGhpcy5udWxsQ2hlY2soZGF0YS51cFZvdGVzKSA/ICcwMCcgOiBkYXRhLnVwVm90ZXMsXHJcbiAgICAgIHRpdGxlOiB0aGlzLm51bGxDaGVjayhkYXRhLnRpdGxlKSA/ICdVbnRpdGxlZCBJdGluZXJhcnknIDogZGF0YS50aXRsZSxcclxuICAgICAgdXNlck5hbWU6IHRoaXMubnVsbENoZWNrKGRhdGEudXNlck5hbWUpID8gJ1lvdScgOiBkYXRhLnVzZXJOYW1lLFxyXG4gICAgICB0aW1lQWdvOiB0aGlzLm51bGxDaGVjayhkYXRhLnRpbWVBZ28pID8gJycgOiBkYXRhLnRpbWVBZ28sXHJcbiAgICAgIHVzZXJzOiB0aGlzLm51bGxDaGVjayhkYXRhLnVzZXJzKSA/IDAgOiBkYXRhLnVzZXJzLFxyXG4gICAgICB2aWV3czogdGhpcy5udWxsQ2hlY2soZGF0YS52aWV3cykgPyAwIDogZGF0YS52aWV3cyxcclxuICAgICAgY29tbWVudHM6IHRoaXMubnVsbENoZWNrKGRhdGEuY29tbWVudHMpID8gMCA6IGRhdGEuY29tbWVudHMsXHJcbiAgICAgIHNoYXJlczogdGhpcy5udWxsQ2hlY2soZGF0YS5zaGFyZXMpID8gMCA6IGRhdGEuc2hhcmVzLFxyXG4gICAgICBpbWFnZVNyYzogdGhpcy5udWxsQ2hlY2soZGF0YS5pbWFnZVNyYykgPyBJQ09OU1sndW50aXRsZWQnXSA6IGRhdGEuaW1hZ2VTcmMsXHJcbiAgICAgIHVzZXJpbWFnZVNyYzogdGhpcy5udWxsQ2hlY2soZGF0YS51c2VyaW1hZ2VTcmMpXHJcbiAgICAgICAgPyBJQ09OU1snbm90U3BlY2lmaWVkJ11cclxuICAgICAgICA6IGRhdGEudXNlcmltYWdlU3JjLFxyXG4gICAgICBsb2NhdGlvbjogdGhpcy5udWxsQ2hlY2soZGF0YS5sb2NhdGlvbikgPyAnTm90IFNwZWNpZmllZCcgOiBkYXRhLmxvY2F0aW9uLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGhhbmRsZU1lbnVlSXRlbVNlbGVjdCgpOiB2b2lkIHt9XHJcbiAgaGFuZGxlTWVudUl0ZW1DaGFuZ2UoKTogdm9pZCB7fVxyXG4gIGhhbmRsZU1lbnVDbGljaygpOiB2b2lkIHt9XHJcblxyXG4gIGhhbmRsZUZvcmtDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ya0NsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuICBoYW5kbGVTdGFydEl0aW5lcmFyeUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5TdGFydEl0aW5lcmFyeUNsaWNrLmVtaXQoKTtcclxuICB9XHJcbiAgaGFuZGxlVGl0bGVDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuVGl0bGVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcbiAgaGFuZGxlTWVzc2FnZUNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lc3NhZ2VDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGxpYi1iYXNlLWNhcmRcclxuICAqbmdJZj1cInByb2Nlc3NlZENhcmREYXRhXCJcclxuICBjbGFzcz1cImNhcmQtY29tcG9uZW50IHB4LTQgcHktNCBteS0yIHJvdW5kZWQtbGcgb3V0c2V0LWRvd25zaGFkb3dcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuIG1iLTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC01IGl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBbY2xhc3NdPVwiXHJcbiAgICAgICAgICAhaXNEcmFmdFxyXG4gICAgICAgICAgICA/ICcgdGV4dC1wcmltYXJ5J1xyXG4gICAgICAgICAgICA6ICcnICtcclxuICAgICAgICAgICAgICAnIGl0ZW1zLWNlbnRlciBzbTp0ZXh0LVsxMHB4XSB4czp0ZXh0LVs5cHhdIGZsZXggZmxleC1jb2wgZ2FwLXktWzBweF0nXHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCIhaXNEcmFmdCA/IElDT05TWyd1cHZvdGUnXSA6IElDT05TWyd1cEFycm93V2hpdGUnXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIiFpc0RyYWZ0ID8gJ3RleHQtcHJpbWFyeScgOiAnZHJhaC12b3Rlci1oZWFkZXInXCI+XHJcbiAgICAgICAgICB7eyBwcm9jZXNzZWRDYXJkRGF0YS51cFZvdGVzIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZG93bnZvdGUnXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgPGg0IGNsYXNzPVwidGl0bGUgbWVkaXVtLTE0IHAtMCBtLTBcIiAoY2xpY2spPVwiaGFuZGxlVGl0bGVDbGljaygpXCI+XHJcbiAgICAgICAgICB7eyBwcm9jZXNzZWRDYXJkRGF0YS50aXRsZSB9fVxyXG4gICAgICAgIDwvaDQ+XHJcbiAgICAgICAgPGg1XHJcbiAgICAgICAgICBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IG9wYWNpdHktODAgdGV4dC1bMTBweF0geHM6dGV4dC1bOXB4XSBmbGV4IGdhcC1bNnB4XSBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1sndXNlciddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgID57eyBwcm9jZXNzZWRDYXJkRGF0YS51c2VyTmFtZSB9fSAtXHJcbiAgICAgICAgICAgIHt7IHByb2Nlc3NlZENhcmREYXRhLnRpbWVBZ28gfX08L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2g1PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImRyYWZ0LWhlYWRlclwiICpuZ0lmPVwicHJvY2Vzc2VkQ2FyZERhdGEuaXNEcmFmdFwiPlxyXG4gICAgICBEcmFmdCBTYXZlZFxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cIml0aW5lcmFyeVN0YXJ0ZWRcIlxyXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVTdGFydEl0aW5lcmFyeUNsaWNrKClcIlxyXG4gICAgICAgIGNsYXNzPVwic3RhcnRJdGluZXJhcnlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydzdGFydEl0aW5lcmFyeSddXCIgYWx0PVwiaWNvblwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLWljb24tYnV0dG9uXHJcbiAgICAgICAgKHNlbGVjdCk9XCJoYW5kbGVNZW51ZUl0ZW1TZWxlY3QoKVwiXHJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZU1lbnVDbGljaygpXCJcclxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZU1lbnVJdGVtQ2hhbmdlKClcIlxyXG4gICAgICAgIGNsYXNzPVwibGliLW1lbnUtY3VzdG9tLWNsYXNzXCJcclxuICAgICAgICBbZGlzYWJsZVRleHRTaGFkb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgW21lbnVJdGVtc109XCJsaWJNZW51SXRlbVwiXHJcbiAgICAgICAgW2J1dHRvbkljb25dPVwiSUNPTlNbJ2hvcml6b250YWwnXVwiXHJcbiAgICAgID48L2FwcC1pY29uLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxociBjbGFzcz1cImgtMSB0ZXh0LXNlY29uZGFyeSBvcGFjaXR5LTI1XCIgLz5cclxuICA8ZGl2IGNsYXNzPVwibXktMiBtYi0xIGZsZXggaXRlbXMtc3RhcnQgZ2FwLXgtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIjEgbWItMCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICA8aW1nXHJcbiAgICAgICAgW2NsYXNzXT1cImlzRHJhZnQgPyAnZHJhZi1sb2NhdGlvbi1pbWFnZScgOiAnJ1wiXHJcbiAgICAgICAgW3NyY109XCJwcm9jZXNzZWRDYXJkRGF0YS5pbWFnZVNyY1wiXHJcbiAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICB3aWR0aD1cIjEwMFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCIyXCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cIiFjYXJkRGF0YT8uaXNEcmFmdFwiXHJcbiAgICAgICAgY2xhc3M9XCJmb250LW5vcm1hbCB0ZXh0LXNlY29uZGFyeSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC00IHRleHQtc21cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAteS1bNnB4XSB4czp0ZXh0LVs5cHhdIHNtOnRleHQtWzEycHhdXCI+XHJcbiAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxvY2F0aW9uIG9mIGNhcmREYXRhRm9yTG9jYXRpb25zLmxvY2F0aW9uQ29sdW1uMVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibG9jYXRpb24taXRlbSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJsb2NhdGlvbi5pY29uXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZSBzbTptYXgtdy0xMCB4czptYXgtdy0xMVwiPnt7XHJcbiAgICAgICAgICAgICAgbG9jYXRpb24ubmFtZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgICA8dWwgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC15LVs2cHhdIHhzOnRleHQtWzlweF0gc206dGV4dC1bMTJweF1cIj5cclxuICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgbG9jYXRpb24gb2YgY2FyZERhdGFGb3JMb2NhdGlvbnMubG9jYXRpb25Db2x1bW4yXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJsb2NhdGlvbi1pdGVtIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImxvY2F0aW9uLmljb25cIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlIHNtOm1heC13LTEwIHhzOm1heC13LTExXCI+e3tcclxuICAgICAgICAgICAgICBsb2NhdGlvbi5uYW1lXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHAgKm5nSWY9XCJwcm9jZXNzZWRDYXJkRGF0YS5pc0RyYWZ0XCIgY2xhc3M9XCJ0ZXh0LXhzIGRyYWZ0LWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAge3sgXCJGSU5JU0hfSVRJTkVSQVJZX0NSRUFUSU9OXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIGNsYXNzPVwiaC0xIHRleHQtc2Vjb25kYXJ5IG9wYWNpdHktMjVcIiAvPlxyXG4gIDxkaXYgY2xhc3M9XCJteS0yIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBzbTpnYXAteC03IHhzOmdhcC14LTUgc206dGV4dC1zbSB4czp0ZXh0LVs5cHhdIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LVs2cHhdXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cImJvdHRvbS1pY29uc1wiIFtzcmNdPVwiSUNPTlNbJ2V5ZSddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImJvdHRvbS10YWdzXCI+e3sgcHJvY2Vzc2VkQ2FyZERhdGEudmlld3MgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU1lc3NhZ2VDbGlja2VkKClcIlxyXG4gICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtWzZweF1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cImJvdHRvbS1pY29uc1wiIFtzcmNdPVwiSUNPTlNbJ2NvbW1lbnQyJ11cIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYm90dG9tLXRhZ3NcIj57eyBwcm9jZXNzZWRDYXJkRGF0YS5jb21tZW50cyB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKGNsaWNrKT1cImhhbmRsZUZvcmtDbGljaygpXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC1bNnB4XVwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJib3R0b20taWNvbnNcIiBbc3JjXT1cIklDT05TWydmb3JrJ11cIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYm90dG9tLXRhZ3NcIj57eyBwcm9jZXNzZWRDYXJkRGF0YS5zaGFyZXMgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMlwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgdXNlckljb25UZXh0XCI+XHJcbiAgICAgICAge3sgcHJvY2Vzc2VkQ2FyZERhdGEudXNlcnMgfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItaWNvbi10ZXh0XCIgKm5nSWY9XCJwcm9jZXNzZWRDYXJkRGF0YS51c2VycyA+IDBcIlxyXG4gICAgICAgICAgPlVzZXJzPC9zcGFuXHJcbiAgICAgICAgPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxpbWcgW3NyY109XCJwcm9jZXNzZWRDYXJkRGF0YS51c2VyaW1hZ2VTcmNcIiBhbHQ9XCJcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbGliLWJhc2UtY2FyZD5cclxuIl19
|
|
@@ -8,7 +8,8 @@ import * as i2 from "@angular/router";
|
|
|
8
8
|
import * as i3 from "../../_services/navigation-helper.service";
|
|
9
9
|
import * as i4 from "@angular/common";
|
|
10
10
|
import * as i5 from "@naniteninja/ionic-lib";
|
|
11
|
-
import * as i6 from "
|
|
11
|
+
import * as i6 from "../icon-button/icon-button.component";
|
|
12
|
+
import * as i7 from "../../_pipes/votes.pipe";
|
|
12
13
|
export class CommentComponent {
|
|
13
14
|
cdr;
|
|
14
15
|
commentImageService;
|
|
@@ -69,14 +70,14 @@ export class CommentComponent {
|
|
|
69
70
|
this.navHelper.navigate([ItinerariesRoutesEnum.COMMENT_REPLIES], this.route);
|
|
70
71
|
}
|
|
71
72
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CommentImageService }, { token: i2.ActivatedRoute }, { token: i3.NavigationHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CommentComponent, selector: "app-comment", inputs: { libMenuItem: "libMenuItem", commentsData: "commentsData" }, ngImport: i0, template: "<ng-container *ngFor=\"let data of commentsData; let i = index\">\r\n <div class=\"comment-card text-white px-4 mb-4 rounded-xl w-full\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3 mr-1\">\r\n <div>\r\n <img\r\n [src]=\"ICONS['user']\"\r\n loading=\"lazy\"\r\n alt=\"User\"\r\n class=\"comment-user rounded-full\"\r\n />\r\n <div class=\"flex flex-col items-center text-pink-500 mt-4\">\r\n <img\r\n [src]=\"ICONS['upvote']\"\r\n alt=\"Upvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"upvote(i)\"\r\n />\r\n <span class=\"normal-text-xs font-semibold text-pink-500\">{{\r\n data!.upVotes - data!.downVotes | votes\r\n }}</span>\r\n <img\r\n [src]=\"ICONS['downvote']\"\r\n alt=\"Downvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"downvote(i)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex gap-[18px]\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <p class=\"normal-text-sm normal-text\">\r\n {{ data?.userName }} - {{ data?.timeAgo }}\r\n {{ data.isEditted == true ? \"(Edited)\" : \"\" }}\r\n </p>\r\n <p class=\"normal-text-md text-white\">{{ data?.commentText }}</p>\r\n </div>\r\n <div\r\n *ngIf=\"data.hasAttachments === true\"\r\n class=\"grid grid-cols-2 gap-[3.5px] mt-3 mb-2\"\r\n >\r\n <ng-container *ngFor=\"let image of data?.attachments; let i = index\">\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"image\"\r\n loading=\"lazy\"\r\n alt=\"Attachment\"\r\n (click)=\"showImage(data?.attachments!, i)\"\r\n class=\"w-full object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && data?.attachments\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <div class=\"flex gap-8 text-gray-400 text-sm\">\r\n <button\r\n class=\"flex items-center space-x-1 hover:text-white normal-text-sm\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n <img [src]=\"ICONS['comment2']\" alt=\"Reply\" />\r\n <p class=\"normal-text-sm\">Reply</p>\r\n </button>\r\n <button class=\"flex items-center space-x-1 hover:text-white normal-text-sm\">\r\n <img\r\n style=\"height: 10px; width: 10px\"\r\n [src]=\"ICONS['featured']\"\r\n alt=\"Feature\"\r\n />\r\n <p class=\"normal-text-sm\">Featured</p>\r\n </button>\r\n </div>\r\n </div>\r\n <p\r\n class=\"custom-pink mt-4 font-bold normal-text-sm cursor-pointer\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n View Replies\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <
|
|
73
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CommentComponent, selector: "app-comment", inputs: { libMenuItem: "libMenuItem", commentsData: "commentsData" }, ngImport: i0, template: "<ng-container *ngFor=\"let data of commentsData; let i = index\">\r\n <div class=\"comment-card text-white px-4 mb-4 rounded-xl w-full\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3 mr-1\">\r\n <div>\r\n <img\r\n [src]=\"ICONS['user']\"\r\n loading=\"lazy\"\r\n alt=\"User\"\r\n class=\"comment-user rounded-full\"\r\n />\r\n <div class=\"flex flex-col items-center text-pink-500 mt-4\">\r\n <img\r\n [src]=\"ICONS['upvote']\"\r\n alt=\"Upvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"upvote(i)\"\r\n />\r\n <span class=\"normal-text-xs font-semibold text-pink-500\">{{\r\n data!.upVotes - data!.downVotes | votes\r\n }}</span>\r\n <img\r\n [src]=\"ICONS['downvote']\"\r\n alt=\"Downvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"downvote(i)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex gap-[18px]\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <p class=\"normal-text-sm normal-text\">\r\n {{ data?.userName }} - {{ data?.timeAgo }}\r\n {{ data.isEditted == true ? \"(Edited)\" : \"\" }}\r\n </p>\r\n <p class=\"normal-text-md text-white\">{{ data?.commentText }}</p>\r\n </div>\r\n <div\r\n *ngIf=\"data.hasAttachments === true\"\r\n class=\"grid grid-cols-2 gap-[3.5px] mt-3 mb-2\"\r\n >\r\n <ng-container *ngFor=\"let image of data?.attachments; let i = index\">\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"image\"\r\n loading=\"lazy\"\r\n alt=\"Attachment\"\r\n (click)=\"showImage(data?.attachments!, i)\"\r\n class=\"w-full object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && data?.attachments\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <div class=\"flex gap-8 text-gray-400 text-sm\">\r\n <button\r\n class=\"flex items-center space-x-1 hover:text-white normal-text-sm\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n <img [src]=\"ICONS['comment2']\" alt=\"Reply\" />\r\n <p class=\"normal-text-sm\">Reply</p>\r\n </button>\r\n <button class=\"flex items-center space-x-1 hover:text-white normal-text-sm\">\r\n <img\r\n style=\"height: 10px; width: 10px\"\r\n [src]=\"ICONS['featured']\"\r\n alt=\"Feature\"\r\n />\r\n <p class=\"normal-text-sm\">Featured</p>\r\n </button>\r\n </div>\r\n </div>\r\n <p\r\n class=\"custom-pink mt-4 font-bold normal-text-sm cursor-pointer\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n View Replies\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <app-icon-button\r\n (select)=\"handleMenueItemSelect()\"\r\n (buttonClick)=\"handleMenuClick(i)\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [libMenuItems]=\"libMenuItem\"\r\n [buttonIcon]=\"ICONS['horizontalWhite']\"\r\n ></app-icon-button>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<lib-popup\r\n [isOpen]=\"isOpen\"\r\n [modalComponent]=\"imageComponent\"\r\n [backdropDismiss]=\"true\"\r\n (afterCloseEvent)=\"close()\"\r\n>\r\n</lib-popup>\r\n", styles: [".comment-card .text-md{font-size:14px}.comment-card .text-sm{font-size:12px}.comment-card .text-xs{font-size:10px}.comment-card img{transition:opacity .2s}.comment-card img:hover{opacity:.8}.comment-card .custom-pink{margin-left:0;font-weight:700;color:#fe3c72}.comment-user{height:20px;width:20px}.grid img.object-cover{width:118.15;height:72.2}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.LibModalComponent, selector: "lib-popup", inputs: ["isOpen", "icon", "title", "message", "extendedMessage", "cancelButton", "confirmButton", "checkboxText", "progBarCurrentStep", "progBarTotalSteps", "customClass", "backdropDismiss", "modalComponent", "modalComponentData"], outputs: ["modalConfirm", "modalDismiss", "afterCloseEvent"] }, { kind: "component", type: i6.IconButtonComponent, selector: "app-icon-button", inputs: ["buttonIcon", "disableTextShadow", "class", "libMenuItems", "buttonText"], outputs: ["buttonClick", "select", "change"] }, { kind: "pipe", type: i7.VotesPipe, name: "votes" }] });
|
|
73
74
|
}
|
|
74
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommentComponent, decorators: [{
|
|
75
76
|
type: Component,
|
|
76
|
-
args: [{ selector: 'app-comment', standalone: false, template: "<ng-container *ngFor=\"let data of commentsData; let i = index\">\r\n <div class=\"comment-card text-white px-4 mb-4 rounded-xl w-full\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3 mr-1\">\r\n <div>\r\n <img\r\n [src]=\"ICONS['user']\"\r\n loading=\"lazy\"\r\n alt=\"User\"\r\n class=\"comment-user rounded-full\"\r\n />\r\n <div class=\"flex flex-col items-center text-pink-500 mt-4\">\r\n <img\r\n [src]=\"ICONS['upvote']\"\r\n alt=\"Upvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"upvote(i)\"\r\n />\r\n <span class=\"normal-text-xs font-semibold text-pink-500\">{{\r\n data!.upVotes - data!.downVotes | votes\r\n }}</span>\r\n <img\r\n [src]=\"ICONS['downvote']\"\r\n alt=\"Downvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"downvote(i)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex gap-[18px]\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <p class=\"normal-text-sm normal-text\">\r\n {{ data?.userName }} - {{ data?.timeAgo }}\r\n {{ data.isEditted == true ? \"(Edited)\" : \"\" }}\r\n </p>\r\n <p class=\"normal-text-md text-white\">{{ data?.commentText }}</p>\r\n </div>\r\n <div\r\n *ngIf=\"data.hasAttachments === true\"\r\n class=\"grid grid-cols-2 gap-[3.5px] mt-3 mb-2\"\r\n >\r\n <ng-container *ngFor=\"let image of data?.attachments; let i = index\">\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"image\"\r\n loading=\"lazy\"\r\n alt=\"Attachment\"\r\n (click)=\"showImage(data?.attachments!, i)\"\r\n class=\"w-full object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && data?.attachments\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <div class=\"flex gap-8 text-gray-400 text-sm\">\r\n <button\r\n class=\"flex items-center space-x-1 hover:text-white normal-text-sm\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n <img [src]=\"ICONS['comment2']\" alt=\"Reply\" />\r\n <p class=\"normal-text-sm\">Reply</p>\r\n </button>\r\n <button class=\"flex items-center space-x-1 hover:text-white normal-text-sm\">\r\n <img\r\n style=\"height: 10px; width: 10px\"\r\n [src]=\"ICONS['featured']\"\r\n alt=\"Feature\"\r\n />\r\n <p class=\"normal-text-sm\">Featured</p>\r\n </button>\r\n </div>\r\n </div>\r\n <p\r\n class=\"custom-pink mt-4 font-bold normal-text-sm cursor-pointer\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n View Replies\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <
|
|
77
|
+
args: [{ selector: 'app-comment', standalone: false, template: "<ng-container *ngFor=\"let data of commentsData; let i = index\">\r\n <div class=\"comment-card text-white px-4 mb-4 rounded-xl w-full\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3 mr-1\">\r\n <div>\r\n <img\r\n [src]=\"ICONS['user']\"\r\n loading=\"lazy\"\r\n alt=\"User\"\r\n class=\"comment-user rounded-full\"\r\n />\r\n <div class=\"flex flex-col items-center text-pink-500 mt-4\">\r\n <img\r\n [src]=\"ICONS['upvote']\"\r\n alt=\"Upvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"upvote(i)\"\r\n />\r\n <span class=\"normal-text-xs font-semibold text-pink-500\">{{\r\n data!.upVotes - data!.downVotes | votes\r\n }}</span>\r\n <img\r\n [src]=\"ICONS['downvote']\"\r\n alt=\"Downvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"downvote(i)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex gap-[18px]\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <p class=\"normal-text-sm normal-text\">\r\n {{ data?.userName }} - {{ data?.timeAgo }}\r\n {{ data.isEditted == true ? \"(Edited)\" : \"\" }}\r\n </p>\r\n <p class=\"normal-text-md text-white\">{{ data?.commentText }}</p>\r\n </div>\r\n <div\r\n *ngIf=\"data.hasAttachments === true\"\r\n class=\"grid grid-cols-2 gap-[3.5px] mt-3 mb-2\"\r\n >\r\n <ng-container *ngFor=\"let image of data?.attachments; let i = index\">\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"image\"\r\n loading=\"lazy\"\r\n alt=\"Attachment\"\r\n (click)=\"showImage(data?.attachments!, i)\"\r\n class=\"w-full object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && data?.attachments\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <div class=\"flex gap-8 text-gray-400 text-sm\">\r\n <button\r\n class=\"flex items-center space-x-1 hover:text-white normal-text-sm\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n <img [src]=\"ICONS['comment2']\" alt=\"Reply\" />\r\n <p class=\"normal-text-sm\">Reply</p>\r\n </button>\r\n <button class=\"flex items-center space-x-1 hover:text-white normal-text-sm\">\r\n <img\r\n style=\"height: 10px; width: 10px\"\r\n [src]=\"ICONS['featured']\"\r\n alt=\"Feature\"\r\n />\r\n <p class=\"normal-text-sm\">Featured</p>\r\n </button>\r\n </div>\r\n </div>\r\n <p\r\n class=\"custom-pink mt-4 font-bold normal-text-sm cursor-pointer\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n View Replies\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <app-icon-button\r\n (select)=\"handleMenueItemSelect()\"\r\n (buttonClick)=\"handleMenuClick(i)\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [libMenuItems]=\"libMenuItem\"\r\n [buttonIcon]=\"ICONS['horizontalWhite']\"\r\n ></app-icon-button>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<lib-popup\r\n [isOpen]=\"isOpen\"\r\n [modalComponent]=\"imageComponent\"\r\n [backdropDismiss]=\"true\"\r\n (afterCloseEvent)=\"close()\"\r\n>\r\n</lib-popup>\r\n", styles: [".comment-card .text-md{font-size:14px}.comment-card .text-sm{font-size:12px}.comment-card .text-xs{font-size:10px}.comment-card img{transition:opacity .2s}.comment-card img:hover{opacity:.8}.comment-card .custom-pink{margin-left:0;font-weight:700;color:#fe3c72}.comment-user{height:20px;width:20px}.grid img.object-cover{width:118.15;height:72.2}\n"] }]
|
|
77
78
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CommentImageService }, { type: i2.ActivatedRoute }, { type: i3.NavigationHelperService }], propDecorators: { libMenuItem: [{
|
|
78
79
|
type: Input
|
|
79
80
|
}], commentsData: [{
|
|
80
81
|
type: Input
|
|
81
82
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9zaGFyZWQvY29tbWVudC9jb21tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL3NoYXJlZC9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFbkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7OztBQVkxRSxNQUFNLE9BQU8sZ0JBQWdCO0lBVWpCO0lBQ0E7SUFDQTtJQUNBO0lBWkQsV0FBVyxDQUFpQjtJQUM1QixZQUFZLENBQThCO0lBQ25ELEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLGNBQWMsR0FBaUMsc0JBQXNCLENBQUM7SUFFdEUsYUFBYTtJQUNiLFlBQ1UsR0FBc0IsRUFDdEIsbUJBQXdDLEVBQ3hDLEtBQXFCLEVBQ3JCLFNBQWtDO1FBSGxDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7SUFDekMsQ0FBQztJQUNKLFFBQVE7UUFDTixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxVQUFVO0lBQ1YscUJBQXFCLEtBQVUsQ0FBQztJQUNoQyxvQkFBb0IsS0FBVSxDQUFDO0lBQy9CLGVBQWUsQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLEdBQUcsR0FBUyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUMsQ0FBQztJQUVGLFNBQVMsQ0FBQyxNQUFnQixFQUFFLFlBQW9CO1FBQzlDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO1FBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGFBQWE7SUFDYixtQkFBbUI7UUFDakIsTUFBTSxFQUFFLEdBQVcsSUFBSSxDQUFDLFlBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFlBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsWUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9FLENBQUM7d0dBL0RVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHlIQ3ZCN0IsMnpJQW1IQTs7NEZENUZhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxhQUFhLGNBR1gsS0FBSzsyTEFHVixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInOyBcclxuaW1wb3J0IHsgQ29tbWVudEltYWdlc0NvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC1pbWFnZXMvY29tbWVudC1pbWFnZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGliTWVudUl0ZW0gfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJzsgIFxyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuaW1wb3J0IHsgSUNvbW1lbnRzRGF0YSB9IGZyb20gJy4uLy4uL19pbnRlcmZhY2UvY29tbWVudHNkYXRhJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBDb21tZW50SW1hZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL2NvbW1lbnQtaW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL25hdmlnYXRpb24taGVscGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tZW50LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jb21tZW50LmNvbXBvbmVudC5zY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsaWJNZW51SXRlbSE6IExpYk1lbnVJdGVtW107XHJcbiAgQElucHV0KCkgY29tbWVudHNEYXRhOiBJQ29tbWVudHNEYXRhW10gfCB1bmRlZmluZWQ7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgaW5kZXg6IG51bWJlciA9IDA7XHJcbiAgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW1hZ2VDb21wb25lbnQ6IFR5cGU8Q29tbWVudEltYWdlc0NvbXBvbmVudD4gPSBDb21tZW50SW1hZ2VzQ29tcG9uZW50O1xyXG5cclxuICAvL0xJRkUgQ1lDTEVTXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNvbW1lbnRJbWFnZVNlcnZpY2U6IENvbW1lbnRJbWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgbmF2SGVscGVyOiBOYXZpZ2F0aW9uSGVscGVyU2VydmljZVxyXG4gICkge31cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5saWJNZW51SXRlbS5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLmxpYk1lbnVJdGVtW2ldLmNvbW1hbmQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVVcGRhdGVDb21tZW50KCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1VJIExPR0lDXHJcbiAgaGFuZGxlTWVudWVJdGVtU2VsZWN0KCk6IHZvaWQge31cclxuICBoYW5kbGVNZW51SXRlbUNoYW5nZSgpOiB2b2lkIHt9XHJcbiAgaGFuZGxlTWVudUNsaWNrKGk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5pbmRleCA9IGk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSA9ICgpOiB2b2lkID0+IHtcclxuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgc2hvd0ltYWdlKGltYWdlczogc3RyaW5nW10sIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuY29tbWVudEltYWdlU2VydmljZS5pbWFnZSA9IGltYWdlcztcclxuICAgICAgdGhpcy5jb21tZW50SW1hZ2VTZXJ2aWNlLmluZGV4ID0gY3VycmVudEluZGV4O1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIC8vTkFWR0lBVElPTlNcclxuICBoYW5kbGVVcGRhdGVDb21tZW50KCkge1xyXG4gICAgY29uc3QgaWQ6IHN0cmluZyA9IHRoaXMuY29tbWVudHNEYXRhIVt0aGlzLmluZGV4XS5pZDtcclxuICAgIHRoaXMubmF2SGVscGVyLm5hdmlnYXRlKFtJdGluZXJhcmllc1JvdXRlc0VudW0uQ09NTUVOVFNfUk9VVEUsIGlkXSwgdGhpcy5yb3V0ZSk7XHJcbiAgfVxyXG5cclxuICB1cHZvdGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5jb21tZW50c0RhdGEhW2luZGV4XS51cFZvdGVzICs9IDE7XHJcbiAgfVxyXG5cclxuICBkb3dudm90ZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbW1lbnRzRGF0YSFbaW5kZXhdLmRvd25Wb3RlcyArPSAxO1xyXG4gIH1cclxuXHJcbiAgUmVkaXJlY3RUb1JlcGxpZXMoKSB7XHJcbiAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShbSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNPTU1FTlRfUkVQTElFU10sIHRoaXMucm91dGUpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkYXRhIG9mIGNvbW1lbnRzRGF0YTsgbGV0IGkgPSBpbmRleFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb21tZW50LWNhcmQgdGV4dC13aGl0ZSBweC00IG1iLTQgcm91bmRlZC14bCB3LWZ1bGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzcGFjZS14LTMgbXItMVwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ3VzZXInXVwiXHJcbiAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgYWx0PVwiVXNlclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29tbWVudC11c2VyIHJvdW5kZWQtZnVsbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIHRleHQtcGluay01MDAgbXQtNFwiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1sndXB2b3RlJ11cIlxyXG4gICAgICAgICAgICAgIGFsdD1cIlVwdm90ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVwdm90ZShpKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9ybWFsLXRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXBpbmstNTAwXCI+e3tcclxuICAgICAgICAgICAgICBkYXRhIS51cFZvdGVzIC0gZGF0YSEuZG93blZvdGVzIHwgdm90ZXNcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydkb3dudm90ZSddXCJcclxuICAgICAgICAgICAgICBhbHQ9XCJEb3dudm90ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd252b3RlKGkpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtWzE4cHhdXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtc20gbm9ybWFsLXRleHRcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRhdGE/LnVzZXJOYW1lIH19IC0ge3sgZGF0YT8udGltZUFnbyB9fVxyXG4gICAgICAgICAgICAgICAge3sgZGF0YS5pc0VkaXR0ZWQgPT0gdHJ1ZSA/IFwiKEVkaXRlZClcIiA6IFwiXCIgfX1cclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJub3JtYWwtdGV4dC1tZCB0ZXh0LXdoaXRlXCI+e3sgZGF0YT8uY29tbWVudFRleHQgfX08L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhLmhhc0F0dGFjaG1lbnRzID09PSB0cnVlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLVszLjVweF0gbXQtMyBtYi0yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltYWdlIG9mIGRhdGE/LmF0dGFjaG1lbnRzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIiAqbmdJZj1cImkgPCA0XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiQXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dJbWFnZShkYXRhPy5hdHRhY2htZW50cyEsIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBvYmplY3QtY292ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpID09PSAzICYmIGRhdGE/LmF0dGFjaG1lbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LTAgYmctYmxhY2sgYmctb3BhY2l0eS01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIHRleHQteGwgZm9udC1ib2xkXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICt7eyBpIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG10LTNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtOCB0ZXh0LWdyYXktNDAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTEgaG92ZXI6dGV4dC13aGl0ZSBub3JtYWwtdGV4dC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJSZWRpcmVjdFRvUmVwbGllcygpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydjb21tZW50MiddXCIgYWx0PVwiUmVwbHlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LXNtXCI+UmVwbHk8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTEgaG92ZXI6dGV4dC13aGl0ZSBub3JtYWwtdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4XCJcclxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydmZWF0dXJlZCddXCJcclxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJGZWF0dXJlXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJub3JtYWwtdGV4dC1zbVwiPkZlYXR1cmVkPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXBpbmsgbXQtNCBmb250LWJvbGQgbm9ybWFsLXRleHQtc20gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJSZWRpcmVjdFRvUmVwbGllcygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIFZpZXcgUmVwbGllc1xyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8bGliLW1lbnUtYnRuXHJcbiAgICAgICAgKHNlbGVjdCk9XCJoYW5kbGVNZW51ZUl0ZW1TZWxlY3QoKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU1lbnVDbGljayhpKVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVNZW51SXRlbUNoYW5nZSgpXCJcclxuICAgICAgICBjbGFzcz1cImxpYi1tZW51LWN1c3RvbS1jbGFzcyBsaWItbWVudS1iZy1ub25lXCJcclxuICAgICAgICBbZGlzYWJsZVRleHRTaGFkb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgW21lbnVJdGVtc109XCJsaWJNZW51SXRlbVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ2hvcml6b250YWxXaGl0ZSddXCIgYWx0PVwiXCIgLz5cclxuICAgICAgPC9saWItbWVudS1idG4+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdCBib3JkZXItZ3JheS03MDAgbXQtMlwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxsaWItcG9wdXBcclxuICBbaXNPcGVuXT1cImlzT3BlblwiXHJcbiAgW21vZGFsQ29tcG9uZW50XT1cImltYWdlQ29tcG9uZW50XCJcclxuICBbYmFja2Ryb3BEaXNtaXNzXT1cInRydWVcIlxyXG4gIChhZnRlckNsb3NlRXZlbnQpPVwiY2xvc2UoKVwiXHJcbj5cclxuPC9saWItcG9wdXA+XHJcbiJdfQ==
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9zaGFyZWQvY29tbWVudC9jb21tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL3NoYXJlZC9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFbkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7QUFZMUUsTUFBTSxPQUFPLGdCQUFnQjtJQVVqQjtJQUNBO0lBQ0E7SUFDQTtJQVpELFdBQVcsQ0FBaUI7SUFDNUIsWUFBWSxDQUE4QjtJQUNuRCxLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLEtBQUssR0FBVyxDQUFDLENBQUM7SUFDbEIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixjQUFjLEdBQWlDLHNCQUFzQixDQUFDO0lBRXRFLGFBQWE7SUFDYixZQUNVLEdBQXNCLEVBQ3RCLG1CQUF3QyxFQUN4QyxLQUFxQixFQUNyQixTQUFrQztRQUhsQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQXlCO0lBQ3pDLENBQUM7SUFDSixRQUFRO1FBQ04sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsVUFBVTtJQUNWLHFCQUFxQixLQUFVLENBQUM7SUFDaEMsb0JBQW9CLEtBQVUsQ0FBQztJQUMvQixlQUFlLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxHQUFHLEdBQVMsRUFBRTtRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDLENBQUM7SUFFRixTQUFTLENBQUMsTUFBZ0IsRUFBRSxZQUFvQjtRQUM5QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxhQUFhO0lBQ2IsbUJBQW1CO1FBQ2pCLE1BQU0sRUFBRSxHQUFXLElBQUksQ0FBQyxZQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxZQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLFlBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRSxDQUFDO3dHQS9EVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix5SEN2QjdCLHN6SUFrSEE7OzRGRDNGYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksYUFBYSxjQUdYLEtBQUs7MkxBR1YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFR5cGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJzsgXHJcbmltcG9ydCB7IENvbW1lbnRJbWFnZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQtaW1hZ2VzL2NvbW1lbnQtaW1hZ2VzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYk1lbnVJdGVtIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7ICBcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IElDb21tZW50c0RhdGEgfSBmcm9tICcuLi8uLi9faW50ZXJmYWNlL2NvbW1lbnRzZGF0YSc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgQ29tbWVudEltYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9jb21tZW50LWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9uYXZpZ2F0aW9uLWhlbHBlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtY29tbWVudCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29tbWVudC5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGliTWVudUl0ZW0hOiBMaWJNZW51SXRlbVtdO1xyXG4gIEBJbnB1dCgpIGNvbW1lbnRzRGF0YTogSUNvbW1lbnRzRGF0YVtdIHwgdW5kZWZpbmVkO1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIGluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGltYWdlQ29tcG9uZW50OiBUeXBlPENvbW1lbnRJbWFnZXNDb21wb25lbnQ+ID0gQ29tbWVudEltYWdlc0NvbXBvbmVudDtcclxuXHJcbiAgLy9MSUZFIENZQ0xFU1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBjb21tZW50SW1hZ2VTZXJ2aWNlOiBDb21tZW50SW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIG5hdkhlbHBlcjogTmF2aWdhdGlvbkhlbHBlclNlcnZpY2VcclxuICApIHt9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGliTWVudUl0ZW0ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5saWJNZW51SXRlbVtpXS5jb21tYW5kID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlVXBkYXRlQ29tbWVudCgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9VSSBMT0dJQ1xyXG4gIGhhbmRsZU1lbnVlSXRlbVNlbGVjdCgpOiB2b2lkIHt9XHJcbiAgaGFuZGxlTWVudUl0ZW1DaGFuZ2UoKTogdm9pZCB7fVxyXG4gIGhhbmRsZU1lbnVDbGljayhpOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5kZXggPSBpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UgPSAoKTogdm9pZCA9PiB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gIH07XHJcblxyXG4gIHNob3dJbWFnZShpbWFnZXM6IHN0cmluZ1tdLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvbW1lbnRJbWFnZVNlcnZpY2UuaW1hZ2UgPSBpbWFnZXM7XHJcbiAgICAgIHRoaXMuY29tbWVudEltYWdlU2VydmljZS5pbmRleCA9IGN1cnJlbnRJbmRleDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICAvL05BVkdJQVRJT05TXHJcbiAgaGFuZGxlVXBkYXRlQ29tbWVudCgpIHtcclxuICAgIGNvbnN0IGlkOiBzdHJpbmcgPSB0aGlzLmNvbW1lbnRzRGF0YSFbdGhpcy5pbmRleF0uaWQ7XHJcbiAgICB0aGlzLm5hdkhlbHBlci5uYXZpZ2F0ZShbSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNPTU1FTlRTX1JPVVRFLCBpZF0sIHRoaXMucm91dGUpO1xyXG4gIH1cclxuXHJcbiAgdXB2b3RlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY29tbWVudHNEYXRhIVtpbmRleF0udXBWb3RlcyArPSAxO1xyXG4gIH1cclxuXHJcbiAgZG93bnZvdGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5jb21tZW50c0RhdGEhW2luZGV4XS5kb3duVm90ZXMgKz0gMTtcclxuICB9XHJcblxyXG4gIFJlZGlyZWN0VG9SZXBsaWVzKCkge1xyXG4gICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW0l0aW5lcmFyaWVzUm91dGVzRW51bS5DT01NRU5UX1JFUExJRVNdLCB0aGlzLnJvdXRlKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBjb21tZW50c0RhdGE7IGxldCBpID0gaW5kZXhcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29tbWVudC1jYXJkIHRleHQtd2hpdGUgcHgtNCBtYi00IHJvdW5kZWQteGwgdy1mdWxsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggc3BhY2UteC0zIG1yLTFcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBbc3JjXT1cIklDT05TWyd1c2VyJ11cIlxyXG4gICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgIGFsdD1cIlVzZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImNvbW1lbnQtdXNlciByb3VuZGVkLWZ1bGxcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LXBpbmstNTAwIG10LTRcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ3Vwdm90ZSddXCJcclxuICAgICAgICAgICAgICBhbHQ9XCJVcHZvdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ1cHZvdGUoaSlcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vcm1hbC10ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1waW5rLTUwMFwiPnt7XHJcbiAgICAgICAgICAgICAgZGF0YSEudXBWb3RlcyAtIGRhdGEhLmRvd25Wb3RlcyB8IHZvdGVzXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snZG93bnZvdGUnXVwiXHJcbiAgICAgICAgICAgICAgYWx0PVwiRG93bnZvdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkb3dudm90ZShpKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLVsxOHB4XVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LXNtIG5vcm1hbC10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRhPy51c2VyTmFtZSB9fSAtIHt7IGRhdGE/LnRpbWVBZ28gfX1cclxuICAgICAgICAgICAgICAgIHt7IGRhdGEuaXNFZGl0dGVkID09IHRydWUgPyBcIihFZGl0ZWQpXCIgOiBcIlwiIH19XHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtbWQgdGV4dC13aGl0ZVwiPnt7IGRhdGE/LmNvbW1lbnRUZXh0IH19PC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5oYXNBdHRhY2htZW50cyA9PT0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJncmlkIGdyaWQtY29scy0yIGdhcC1bMy41cHhdIG10LTMgbWItMlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBkYXRhPy5hdHRhY2htZW50czsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCIgKm5nSWY9XCJpIDwgNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIkF0dGFjaG1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93SW1hZ2UoZGF0YT8uYXR0YWNobWVudHMhLCBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgb2JqZWN0LWNvdmVyXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSA9PT0gMyAmJiBkYXRhPy5hdHRhY2htZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWJsYWNrIGJnLW9wYWNpdHktNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSB0ZXh0LXhsIGZvbnQtYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAre3sgaSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTggdGV4dC1ncmF5LTQwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0xIGhvdmVyOnRleHQtd2hpdGUgbm9ybWFsLXRleHQtc21cIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiUmVkaXJlY3RUb1JlcGxpZXMoKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snY29tbWVudDInXVwiIGFsdD1cIlJlcGx5XCIgLz5cclxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJub3JtYWwtdGV4dC1zbVwiPlJlcGx5PC9wPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0xIGhvdmVyOnRleHQtd2hpdGUgbm9ybWFsLXRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAxMHB4OyB3aWR0aDogMTBweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snZmVhdHVyZWQnXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiRmVhdHVyZVwiXHJcbiAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtc21cIj5GZWF0dXJlZDwvcD5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHBcclxuICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS1waW5rIG10LTQgZm9udC1ib2xkIG5vcm1hbC10ZXh0LXNtIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiUmVkaXJlY3RUb1JlcGxpZXMoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBWaWV3IFJlcGxpZXNcclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFwcC1pY29uLWJ1dHRvblxyXG4gICAgICAgIChzZWxlY3QpPVwiaGFuZGxlTWVudWVJdGVtU2VsZWN0KClcIlxyXG4gICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVNZW51Q2xpY2soaSlcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlTWVudUl0ZW1DaGFuZ2UoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJsaWItbWVudS1jdXN0b20tY2xhc3MgbGliLW1lbnUtYmctbm9uZVwiXHJcbiAgICAgICAgW2Rpc2FibGVUZXh0U2hhZG93XT1cInRydWVcIlxyXG4gICAgICAgIFtsaWJNZW51SXRlbXNdPVwibGliTWVudUl0ZW1cIlxyXG4gICAgICAgIFtidXR0b25JY29uXT1cIklDT05TWydob3Jpem9udGFsV2hpdGUnXVwiXHJcbiAgICAgID48L2FwcC1pY29uLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImJvcmRlci10IGJvcmRlci1ncmF5LTcwMCBtdC0yXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGxpYi1wb3B1cFxyXG4gIFtpc09wZW5dPVwiaXNPcGVuXCJcclxuICBbbW9kYWxDb21wb25lbnRdPVwiaW1hZ2VDb21wb25lbnRcIlxyXG4gIFtiYWNrZHJvcERpc21pc3NdPVwidHJ1ZVwiXHJcbiAgKGFmdGVyQ2xvc2VFdmVudCk9XCJjbG9zZSgpXCJcclxuPlxyXG48L2xpYi1wb3B1cD5cclxuIl19
|