ca-components 1.7.994 → 1.7.996

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.
@@ -3,8 +3,10 @@ import { CommonModule } from '@angular/common';
3
3
  // components
4
4
  import { CaDropdownMenuComponent } from '../ca-dropdown-menu/ca-dropdown-menu.component';
5
5
  import { CaShowMoreComponent } from '../ca-show-more/ca-show-more.component';
6
+ import { CaAppTooltipV2Component } from '../ca-app-tooltip-v2/ca-app-tooltip-v2.component';
6
7
  // modules
7
8
  import { AngularSvgIconModule } from 'angular-svg-icon';
9
+ import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';
8
10
  // svg-routes
9
11
  import { TableCardViewSvgRoutes } from './utils/svg-routes';
10
12
  // helpers
@@ -12,8 +14,8 @@ import { TableCardViewHelper } from './utils/helpers/table-card-view-helper';
12
14
  // pipes
13
15
  import { IsCardFlippedPipe } from './pipes/is-card-flipped.pipe';
14
16
  // enums
15
- import { eTableCardTypes } from './enums';
16
- import { ePosition } from '../../enums';
17
+ import { eTableCardTypes, eTableCardGeneral } from './enums';
18
+ import { ePosition, eColor } from '../../enums';
17
19
  import * as i0 from "@angular/core";
18
20
  import * as i1 from "angular-svg-icon";
19
21
  import * as i2 from "@angular/common";
@@ -40,6 +42,7 @@ export class CaTableCardViewComponent {
40
42
  constructor() {
41
43
  this.isDropdownMenuHidden = false;
42
44
  this.isSelectHidden = false;
45
+ this.showBackSide = true;
43
46
  // show more
44
47
  this.showMore = new EventEmitter();
45
48
  // select
@@ -54,6 +57,8 @@ export class CaTableCardViewComponent {
54
57
  // enums
55
58
  this.tableCardTypes = eTableCardTypes;
56
59
  this.ePosition = ePosition;
60
+ this.eColor = eColor;
61
+ this.eTableCardGeneral = eTableCardGeneral;
57
62
  }
58
63
  handleToggleDropdownMenuActions(event, card) {
59
64
  const { type } = event;
@@ -78,11 +83,11 @@ export class CaTableCardViewComponent {
78
83
  this.showMore.emit();
79
84
  }
80
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaTableCardViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaTableCardViewComponent, isStandalone: true, selector: "ca-table-card-view", inputs: { frontSide: "frontSide", backSide: "backSide", titleIcon: "titleIcon", viewData: "viewData", cardTitle: "cardTitle", totalDataCount: "totalDataCount", cardsFlipType: "cardsFlipType", isDropdownMenuHidden: "isDropdownMenuHidden", isSelectHidden: "isSelectHidden" }, outputs: { showMore: "showMore", selectCard: "selectCard", cardTitleClick: "cardTitleClick", dropdownOptionEmitter: "dropdownOptionEmitter" }, ngImport: i0, template: "@let displayedDataCount = _viewData.length;\n\n<div class=\"cards-container d-grid gap-1 margin-r-15\">\n @for (card of _viewData; let i = $index; track $index) {\n <div class=\"custom-card br-3 bg-white\">\n <div\n class=\"card-body m-1 d-flex justify-content-between\"\n [ngClass]=\"{\n 'background-gray background-hover-gray': card.isSelected,\n 'background-hover-bw2': !card.isSelected,\n }\"\n >\n <!-- Left side of the card -->\n\n <div class=\"card-body-left p-1\">\n <!-- Head of the card -->\n\n <div\n class=\"card-header d-flex align-items-center\"\n [class.select-hidden]=\"isSelectHidden\"\n >\n <div class=\"checkbox-holder d-flex align-items-center\">\n <!-- Checkbox -->\n <span\n class=\"checkbox-tooltip\"\n type=\"button\"\n ngbTooltip\n tooltipBackground=\"#424242\"\n position=\"bottom\"\n [ngClass]=\"{\n 'rotate-svg':\n isCardFlippedCheckInCards?.includes(i),\n 'svg-position':\n !isCardFlippedCheckInCards?.includes(i),\n }\"\n [ngStyle]=\"{\n '--svg-fill-color':\n isCardFlippedCheckInCards?.includes(i)\n ? '#3b73ed'\n : '',\n }\"\n >\n <!-- ca-checkbox doesn't work as expected, leave this input for now -->\n @if (!isSelectHidden) {\n <input\n class=\"table-checkbox d-none\"\n type=\"checkbox\"\n id=\"checkbox{{ i }}\"\n [checked]=\"card.isSelected\"\n (change)=\"onCheckboxSelect(card.id)\"\n />\n <label\n class=\"table-checkbox-label d-flex bg-light-gray-6\"\n for=\"checkbox{{ i }}\"\n ></label>\n }\n </span>\n </div>\n <div\n class=\"name d-flex gap-1 title\"\n >\n @if (_titleIcon) {\n <ng-container\n *ngTemplateOutlet=\"\n _titleIcon;\n context: { data: card }\n \"\n ></ng-container>\n }\n\n <div\n class=\"c-pointer text-color-black text-hover-blue-15 ca-font-bold\"\n (click)=\"cardTitleClicked(card.id)\"\n >\n {{ card[_cardTitle] ?? '/' }}\n </div>\n </div>\n </div>\n\n <!-- Card body front-->\n\n <div class=\"card-body-content d-flex flex-column gap-2\">\n <ng-container\n *ngTemplateOutlet=\"\n (i\n | isCardFlipped\n : isCardFlippedCheckInCards) ||\n cardsFlipType === tableCardTypes.BACK\n ? _backSide\n : _frontSide;\n context: { data: card }\n \"\n ></ng-container>\n </div>\n </div>\n\n <!-- Right side of card -->\n\n <div class=\"card-body-right d-flex flex-column\">\n <div class=\"top-side d-flex flex-column gap-1\">\n <!-- Dropdown Menu-->\n\n @if (!isDropdownMenuHidden) {\n <ca-dropdown-menu\n [type]=\"'dots-menu-type'\"\n [placement]=\"\n ePosition.TABLE_CARDS_DROPDOWN_MENU\n \"\n [options]=\"card.tableDropdownContent\"\n (dropdownOptionEmitter)=\"\n handleToggleDropdownMenuActions(\n $event,\n card\n )\n \"\n >\n </ca-dropdown-menu>\n }\n\n <!-- Note element -->\n\n <div\n class=\"note-container right-side-svg br-2 position-relative d-flex align-items-center justify-content-center flex-column\"\n ></div>\n\n <!-- Expand element -->\n\n <div\n class=\"bottom-side d-flex justify-content-center\"\n (click)=\"flipCard(i)\"\n >\n <span\n class=\"expand-card\"\n type=\"button\"\n ngbTooltip\n mainTooltip=\"Flip Card\"\n position=\"bottom\"\n [ngClass]=\"{\n 'rotate-svg':\n isCardFlippedCheckInCards?.includes(\n i\n ) ||\n cardsFlipType === tableCardTypes.BACK,\n 'svg-position':\n !isCardFlippedCheckInCards?.includes(i),\n }\"\n >\n <svg-icon\n [src]=\"\n tableCardViewSvgRoutes.flipArrowRoute\n \"\n ></svg-icon>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n@if (displayedDataCount) {\n <app-ca-show-more\n [displayedDataCount]=\"displayedDataCount\"\n [totalDataCount]=\"totalDataCount\"\n (onShowMore)=\"onShowMoreClick()\"\n ></app-ca-show-more>\n}\n", styles: ["@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.cards-container{margin-top:11px;grid-template-columns:repeat(auto-fill,minmax(302px,1fr))}.cards-container .custom-card .card-body{border-radius:2px;height:calc(100% - 8px)}.cards-container .custom-card .card-body .card-body-left{width:calc(100% - 30px)}.cards-container .custom-card .card-body .card-body-left .card-header{gap:10px;position:relative;padding-left:28px;padding-top:4px}.cards-container .custom-card .card-body .card-body-left .card-header.select-hidden{padding-left:4px!important}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder{position:absolute;left:5px;top:6px}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label{width:14px;height:14px;margin-bottom:0;cursor:pointer;transition:background .3s,transform .3s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label:hover{background:#919191;transform:scale(1.3)}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label{background-color:#3b73ed;background-repeat:no-repeat;background-position:center;transition:background-color .25s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label:hover{background-color:#0b49d1}.cards-container .custom-card .card-body .card-body-left .card-header .name{font-size:14px;line-height:18px;width:100%}.cards-container .custom-card .card-body .card-body-left .card-header .name .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cards-container .custom-card .card-body .card-body-left .card-header .name .finish-order-holder{width:100%}.cards-container .custom-card .card-body .card-body-left .card-body-content{margin-top:8px}.cards-container .custom-card .card-body .card-body-left .card-body-content .one-row .item-body{height:fit-content}.cards-container .custom-card .card-body .card-body-right{height:100%;padding:4px 4px 0 0;position:relative}.cards-container .custom-card .card-body .card-body-right .top-side{height:100%}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg{width:26px;height:26px;top:2px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg:hover{background:transparent!important}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .note-tooltip{height:30px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dots svg{width:18px;position:relative;bottom:1px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .rotate-dropdown-svg svg{transform:rotate(90deg);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dropdown-svg-back svg{transform:rotate(0);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .bottom-side{width:26px;height:26px;cursor:pointer;position:absolute;bottom:5px}.cards-container .custom-card .card-body .card-body-right .bottom-side .svg-position{rotate:0deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .expand-card:hover svg path{fill:#424242}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg{rotate:180deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg svg:hover path{fill:#6692f1}.cards-container .custom-card .card-body:hover .finish-order-action{background:#3b73ed;color:#fff!important;transition:color .25s,background .25s}\n"], dependencies: [{ kind: "ngmodule", type:
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaTableCardViewComponent, isStandalone: true, selector: "ca-table-card-view", inputs: { frontSide: "frontSide", backSide: "backSide", titleIcon: "titleIcon", viewData: "viewData", cardTitle: "cardTitle", totalDataCount: "totalDataCount", cardsFlipType: "cardsFlipType", isDropdownMenuHidden: "isDropdownMenuHidden", isSelectHidden: "isSelectHidden", showBackSide: "showBackSide" }, outputs: { showMore: "showMore", selectCard: "selectCard", cardTitleClick: "cardTitleClick", dropdownOptionEmitter: "dropdownOptionEmitter" }, ngImport: i0, template: "@let displayedDataCount = _viewData.length;\n\n<div class=\"cards-container d-grid gap-1 margin-r-15\">\n @for (card of _viewData; let i = $index; track $index) {\n <div class=\"custom-card br-3 bg-white\">\n <div\n class=\"card-body m-1 d-flex justify-content-between\"\n [ngClass]=\"{\n 'background-gray background-hover-gray': card.isSelected,\n 'background-hover-bw2': !card.isSelected,\n }\"\n >\n <!-- Left side of the card -->\n\n <div class=\"card-body-left p-1\">\n <!-- Head of the card -->\n\n <div\n class=\"card-header d-flex align-items-center\"\n [class.select-hidden]=\"isSelectHidden\"\n >\n <div class=\"checkbox-holder d-flex align-items-center\">\n <!-- Checkbox -->\n <span\n class=\"checkbox-tooltip\"\n type=\"button\"\n ngbTooltip\n tooltipBackground=\"#424242\"\n position=\"bottom\"\n [ngClass]=\"{\n 'rotate-svg':\n isCardFlippedCheckInCards?.includes(i),\n 'svg-position':\n !isCardFlippedCheckInCards?.includes(i),\n }\"\n [ngStyle]=\"{\n '--svg-fill-color':\n isCardFlippedCheckInCards?.includes(i)\n ? '#3b73ed'\n : '',\n }\"\n >\n <!-- ca-checkbox doesn't work as expected, leave this input for now -->\n @if (!isSelectHidden) {\n <input\n class=\"table-checkbox d-none\"\n type=\"checkbox\"\n id=\"checkbox{{ i }}\"\n [checked]=\"card.isSelected\"\n (change)=\"onCheckboxSelect(card.id)\"\n />\n <label\n class=\"table-checkbox-label d-flex bg-light-gray-6\"\n for=\"checkbox{{ i }}\"\n ></label>\n }\n </span>\n </div>\n <div class=\"name d-flex gap-1 title\">\n @if (_titleIcon) {\n <ng-container\n *ngTemplateOutlet=\"\n _titleIcon;\n context: { data: card }\n \"\n ></ng-container>\n }\n\n <div\n class=\"c-pointer text-color-black text-hover-blue-15 ca-font-bold\"\n (click)=\"cardTitleClicked(card.id)\"\n >\n {{ card[_cardTitle] ?? '/' }}\n </div>\n </div>\n </div>\n\n <!-- Card body front-->\n\n <div class=\"card-body-content d-flex flex-column gap-2\">\n <ng-container\n *ngTemplateOutlet=\"\n showBackSide &&\n ((i\n | isCardFlipped\n : isCardFlippedCheckInCards) ||\n cardsFlipType === tableCardTypes.BACK)\n ? _backSide\n : _frontSide;\n context: { data: card }\n \"\n ></ng-container>\n </div>\n </div>\n\n <!-- Right side of card -->\n\n <div class=\"card-body-right d-flex flex-column\">\n <div class=\"top-side d-flex flex-column gap-1\">\n <!-- Dropdown Menu-->\n\n @if (!isDropdownMenuHidden) {\n <ca-dropdown-menu\n [type]=\"'dots-menu-type'\"\n [placement]=\"\n ePosition.TABLE_CARDS_DROPDOWN_MENU\n \"\n [options]=\"card.tableDropdownContent\"\n (dropdownOptionEmitter)=\"\n handleToggleDropdownMenuActions(\n $event,\n card\n )\n \"\n >\n </ca-dropdown-menu>\n }\n\n <!-- Note element -->\n\n <div\n class=\"note-container right-side-svg br-2 position-relative d-flex align-items-center justify-content-center flex-column\"\n ></div>\n\n <!-- Expand element -->\n\n @let showBackSideCard =\n i | isCardFlipped: isCardFlippedCheckInCards;\n\n @if (showBackSide) {\n <div\n class=\"bottom-side d-flex justify-content-center\"\n (click)=\"flipCard(i)\"\n >\n <span\n class=\"expand-card\"\n type=\"button\"\n ngbTooltip\n [mainCaTooltip]=\"eTableCardGeneral.FLIP_CARD\"\n [position]=\"ePosition.BOTTOM\"\n [tooltipBackground]=\"eColor.BLACK\"\n [ngClass]=\"{\n 'rotate-svg':\n showBackSideCard ||\n cardsFlipType ===\n tableCardTypes.BACK,\n 'svg-position': !showBackSideCard,\n }\"\n >\n <svg-icon\n [src]=\"\n tableCardViewSvgRoutes.flipArrowRoute\n \"\n ></svg-icon>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n@if (displayedDataCount) {\n <app-ca-show-more\n [displayedDataCount]=\"displayedDataCount\"\n [totalDataCount]=\"totalDataCount\"\n (onShowMore)=\"onShowMoreClick()\"\n ></app-ca-show-more>\n}\n", styles: ["@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.cards-container{margin-top:11px;grid-template-columns:repeat(auto-fill,minmax(302px,1fr))}.cards-container .custom-card .card-body{border-radius:2px;height:calc(100% - 8px)}.cards-container .custom-card .card-body .card-body-left{width:calc(100% - 30px)}.cards-container .custom-card .card-body .card-body-left .card-header{gap:10px;position:relative;padding-left:28px;padding-top:4px}.cards-container .custom-card .card-body .card-body-left .card-header.select-hidden{padding-left:4px!important}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder{position:absolute;left:5px;top:6px}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label{width:14px;height:14px;margin-bottom:0;cursor:pointer;transition:background .3s,transform .3s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label:hover{background:#919191;transform:scale(1.3)}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label{background-color:#3b73ed;background-repeat:no-repeat;background-position:center;transition:background-color .25s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label:hover{background-color:#0b49d1}.cards-container .custom-card .card-body .card-body-left .card-header .name{font-size:14px;line-height:18px;width:100%}.cards-container .custom-card .card-body .card-body-left .card-header .name .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cards-container .custom-card .card-body .card-body-left .card-header .name .finish-order-holder{width:100%}.cards-container .custom-card .card-body .card-body-left .card-body-content{margin-top:8px}.cards-container .custom-card .card-body .card-body-left .card-body-content .one-row .item-body{height:fit-content}.cards-container .custom-card .card-body .card-body-right{height:100%;padding:4px 4px 0 0;position:relative}.cards-container .custom-card .card-body .card-body-right .top-side{height:100%}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg{width:26px;height:26px;top:2px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg:hover{background:transparent!important}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .note-tooltip{height:30px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dots svg{width:18px;position:relative;bottom:1px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .rotate-dropdown-svg svg{transform:rotate(90deg);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dropdown-svg-back svg{transform:rotate(0);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .bottom-side{width:26px;height:26px;cursor:pointer;position:absolute;bottom:5px}.cards-container .custom-card .card-body .card-body-right .bottom-side .svg-position{rotate:0deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .expand-card:hover svg path{fill:#424242}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg{rotate:180deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg svg:hover path{fill:#6692f1}.cards-container .custom-card .card-body:hover .finish-order-action{background:#3b73ed;color:#fff!important;transition:color .25s,background .25s}\n"], dependencies: [{ kind: "ngmodule", type:
82
87
  // modules
83
- AngularSvgIconModule }, { kind: "component", type: i1.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type:
88
+ AngularSvgIconModule }, { kind: "component", type: i1.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
84
89
  // components
85
- CaDropdownMenuComponent, selector: "ca-dropdown-menu", inputs: ["type", "options", "placement", "isDarkBackground", "isLeftSideIconPosition", "isPositionTranslateUnset"], outputs: ["dropdownOptionEmitter"] }, { kind: "component", type: CaShowMoreComponent, selector: "app-ca-show-more", inputs: ["displayedDataCount", "totalDataCount"], outputs: ["onShowMore"] }, { kind: "pipe", type:
90
+ CaDropdownMenuComponent, selector: "ca-dropdown-menu", inputs: ["type", "options", "placement", "isDarkBackground", "isLeftSideIconPosition", "isPositionTranslateUnset"], outputs: ["dropdownOptionEmitter"] }, { kind: "component", type: CaShowMoreComponent, selector: "app-ca-show-more", inputs: ["displayedDataCount", "totalDataCount"], outputs: ["onShowMore"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "pipe", type:
86
91
  // pipes
87
92
  IsCardFlippedPipe, name: "isCardFlipped" }] }); }
88
93
  }
@@ -92,12 +97,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
92
97
  // modules
93
98
  AngularSvgIconModule,
94
99
  CommonModule,
100
+ NgbTooltip,
95
101
  // components
96
102
  CaDropdownMenuComponent,
97
103
  CaShowMoreComponent,
104
+ CaAppTooltipV2Component,
98
105
  // pipes
99
106
  IsCardFlippedPipe,
100
- ], template: "@let displayedDataCount = _viewData.length;\n\n<div class=\"cards-container d-grid gap-1 margin-r-15\">\n @for (card of _viewData; let i = $index; track $index) {\n <div class=\"custom-card br-3 bg-white\">\n <div\n class=\"card-body m-1 d-flex justify-content-between\"\n [ngClass]=\"{\n 'background-gray background-hover-gray': card.isSelected,\n 'background-hover-bw2': !card.isSelected,\n }\"\n >\n <!-- Left side of the card -->\n\n <div class=\"card-body-left p-1\">\n <!-- Head of the card -->\n\n <div\n class=\"card-header d-flex align-items-center\"\n [class.select-hidden]=\"isSelectHidden\"\n >\n <div class=\"checkbox-holder d-flex align-items-center\">\n <!-- Checkbox -->\n <span\n class=\"checkbox-tooltip\"\n type=\"button\"\n ngbTooltip\n tooltipBackground=\"#424242\"\n position=\"bottom\"\n [ngClass]=\"{\n 'rotate-svg':\n isCardFlippedCheckInCards?.includes(i),\n 'svg-position':\n !isCardFlippedCheckInCards?.includes(i),\n }\"\n [ngStyle]=\"{\n '--svg-fill-color':\n isCardFlippedCheckInCards?.includes(i)\n ? '#3b73ed'\n : '',\n }\"\n >\n <!-- ca-checkbox doesn't work as expected, leave this input for now -->\n @if (!isSelectHidden) {\n <input\n class=\"table-checkbox d-none\"\n type=\"checkbox\"\n id=\"checkbox{{ i }}\"\n [checked]=\"card.isSelected\"\n (change)=\"onCheckboxSelect(card.id)\"\n />\n <label\n class=\"table-checkbox-label d-flex bg-light-gray-6\"\n for=\"checkbox{{ i }}\"\n ></label>\n }\n </span>\n </div>\n <div\n class=\"name d-flex gap-1 title\"\n >\n @if (_titleIcon) {\n <ng-container\n *ngTemplateOutlet=\"\n _titleIcon;\n context: { data: card }\n \"\n ></ng-container>\n }\n\n <div\n class=\"c-pointer text-color-black text-hover-blue-15 ca-font-bold\"\n (click)=\"cardTitleClicked(card.id)\"\n >\n {{ card[_cardTitle] ?? '/' }}\n </div>\n </div>\n </div>\n\n <!-- Card body front-->\n\n <div class=\"card-body-content d-flex flex-column gap-2\">\n <ng-container\n *ngTemplateOutlet=\"\n (i\n | isCardFlipped\n : isCardFlippedCheckInCards) ||\n cardsFlipType === tableCardTypes.BACK\n ? _backSide\n : _frontSide;\n context: { data: card }\n \"\n ></ng-container>\n </div>\n </div>\n\n <!-- Right side of card -->\n\n <div class=\"card-body-right d-flex flex-column\">\n <div class=\"top-side d-flex flex-column gap-1\">\n <!-- Dropdown Menu-->\n\n @if (!isDropdownMenuHidden) {\n <ca-dropdown-menu\n [type]=\"'dots-menu-type'\"\n [placement]=\"\n ePosition.TABLE_CARDS_DROPDOWN_MENU\n \"\n [options]=\"card.tableDropdownContent\"\n (dropdownOptionEmitter)=\"\n handleToggleDropdownMenuActions(\n $event,\n card\n )\n \"\n >\n </ca-dropdown-menu>\n }\n\n <!-- Note element -->\n\n <div\n class=\"note-container right-side-svg br-2 position-relative d-flex align-items-center justify-content-center flex-column\"\n ></div>\n\n <!-- Expand element -->\n\n <div\n class=\"bottom-side d-flex justify-content-center\"\n (click)=\"flipCard(i)\"\n >\n <span\n class=\"expand-card\"\n type=\"button\"\n ngbTooltip\n mainTooltip=\"Flip Card\"\n position=\"bottom\"\n [ngClass]=\"{\n 'rotate-svg':\n isCardFlippedCheckInCards?.includes(\n i\n ) ||\n cardsFlipType === tableCardTypes.BACK,\n 'svg-position':\n !isCardFlippedCheckInCards?.includes(i),\n }\"\n >\n <svg-icon\n [src]=\"\n tableCardViewSvgRoutes.flipArrowRoute\n \"\n ></svg-icon>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n@if (displayedDataCount) {\n <app-ca-show-more\n [displayedDataCount]=\"displayedDataCount\"\n [totalDataCount]=\"totalDataCount\"\n (onShowMore)=\"onShowMoreClick()\"\n ></app-ca-show-more>\n}\n", styles: ["@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.cards-container{margin-top:11px;grid-template-columns:repeat(auto-fill,minmax(302px,1fr))}.cards-container .custom-card .card-body{border-radius:2px;height:calc(100% - 8px)}.cards-container .custom-card .card-body .card-body-left{width:calc(100% - 30px)}.cards-container .custom-card .card-body .card-body-left .card-header{gap:10px;position:relative;padding-left:28px;padding-top:4px}.cards-container .custom-card .card-body .card-body-left .card-header.select-hidden{padding-left:4px!important}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder{position:absolute;left:5px;top:6px}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label{width:14px;height:14px;margin-bottom:0;cursor:pointer;transition:background .3s,transform .3s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label:hover{background:#919191;transform:scale(1.3)}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label{background-color:#3b73ed;background-repeat:no-repeat;background-position:center;transition:background-color .25s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label:hover{background-color:#0b49d1}.cards-container .custom-card .card-body .card-body-left .card-header .name{font-size:14px;line-height:18px;width:100%}.cards-container .custom-card .card-body .card-body-left .card-header .name .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cards-container .custom-card .card-body .card-body-left .card-header .name .finish-order-holder{width:100%}.cards-container .custom-card .card-body .card-body-left .card-body-content{margin-top:8px}.cards-container .custom-card .card-body .card-body-left .card-body-content .one-row .item-body{height:fit-content}.cards-container .custom-card .card-body .card-body-right{height:100%;padding:4px 4px 0 0;position:relative}.cards-container .custom-card .card-body .card-body-right .top-side{height:100%}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg{width:26px;height:26px;top:2px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg:hover{background:transparent!important}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .note-tooltip{height:30px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dots svg{width:18px;position:relative;bottom:1px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .rotate-dropdown-svg svg{transform:rotate(90deg);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dropdown-svg-back svg{transform:rotate(0);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .bottom-side{width:26px;height:26px;cursor:pointer;position:absolute;bottom:5px}.cards-container .custom-card .card-body .card-body-right .bottom-side .svg-position{rotate:0deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .expand-card:hover svg path{fill:#424242}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg{rotate:180deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg svg:hover path{fill:#6692f1}.cards-container .custom-card .card-body:hover .finish-order-action{background:#3b73ed;color:#fff!important;transition:color .25s,background .25s}\n"] }]
107
+ ], template: "@let displayedDataCount = _viewData.length;\n\n<div class=\"cards-container d-grid gap-1 margin-r-15\">\n @for (card of _viewData; let i = $index; track $index) {\n <div class=\"custom-card br-3 bg-white\">\n <div\n class=\"card-body m-1 d-flex justify-content-between\"\n [ngClass]=\"{\n 'background-gray background-hover-gray': card.isSelected,\n 'background-hover-bw2': !card.isSelected,\n }\"\n >\n <!-- Left side of the card -->\n\n <div class=\"card-body-left p-1\">\n <!-- Head of the card -->\n\n <div\n class=\"card-header d-flex align-items-center\"\n [class.select-hidden]=\"isSelectHidden\"\n >\n <div class=\"checkbox-holder d-flex align-items-center\">\n <!-- Checkbox -->\n <span\n class=\"checkbox-tooltip\"\n type=\"button\"\n ngbTooltip\n tooltipBackground=\"#424242\"\n position=\"bottom\"\n [ngClass]=\"{\n 'rotate-svg':\n isCardFlippedCheckInCards?.includes(i),\n 'svg-position':\n !isCardFlippedCheckInCards?.includes(i),\n }\"\n [ngStyle]=\"{\n '--svg-fill-color':\n isCardFlippedCheckInCards?.includes(i)\n ? '#3b73ed'\n : '',\n }\"\n >\n <!-- ca-checkbox doesn't work as expected, leave this input for now -->\n @if (!isSelectHidden) {\n <input\n class=\"table-checkbox d-none\"\n type=\"checkbox\"\n id=\"checkbox{{ i }}\"\n [checked]=\"card.isSelected\"\n (change)=\"onCheckboxSelect(card.id)\"\n />\n <label\n class=\"table-checkbox-label d-flex bg-light-gray-6\"\n for=\"checkbox{{ i }}\"\n ></label>\n }\n </span>\n </div>\n <div class=\"name d-flex gap-1 title\">\n @if (_titleIcon) {\n <ng-container\n *ngTemplateOutlet=\"\n _titleIcon;\n context: { data: card }\n \"\n ></ng-container>\n }\n\n <div\n class=\"c-pointer text-color-black text-hover-blue-15 ca-font-bold\"\n (click)=\"cardTitleClicked(card.id)\"\n >\n {{ card[_cardTitle] ?? '/' }}\n </div>\n </div>\n </div>\n\n <!-- Card body front-->\n\n <div class=\"card-body-content d-flex flex-column gap-2\">\n <ng-container\n *ngTemplateOutlet=\"\n showBackSide &&\n ((i\n | isCardFlipped\n : isCardFlippedCheckInCards) ||\n cardsFlipType === tableCardTypes.BACK)\n ? _backSide\n : _frontSide;\n context: { data: card }\n \"\n ></ng-container>\n </div>\n </div>\n\n <!-- Right side of card -->\n\n <div class=\"card-body-right d-flex flex-column\">\n <div class=\"top-side d-flex flex-column gap-1\">\n <!-- Dropdown Menu-->\n\n @if (!isDropdownMenuHidden) {\n <ca-dropdown-menu\n [type]=\"'dots-menu-type'\"\n [placement]=\"\n ePosition.TABLE_CARDS_DROPDOWN_MENU\n \"\n [options]=\"card.tableDropdownContent\"\n (dropdownOptionEmitter)=\"\n handleToggleDropdownMenuActions(\n $event,\n card\n )\n \"\n >\n </ca-dropdown-menu>\n }\n\n <!-- Note element -->\n\n <div\n class=\"note-container right-side-svg br-2 position-relative d-flex align-items-center justify-content-center flex-column\"\n ></div>\n\n <!-- Expand element -->\n\n @let showBackSideCard =\n i | isCardFlipped: isCardFlippedCheckInCards;\n\n @if (showBackSide) {\n <div\n class=\"bottom-side d-flex justify-content-center\"\n (click)=\"flipCard(i)\"\n >\n <span\n class=\"expand-card\"\n type=\"button\"\n ngbTooltip\n [mainCaTooltip]=\"eTableCardGeneral.FLIP_CARD\"\n [position]=\"ePosition.BOTTOM\"\n [tooltipBackground]=\"eColor.BLACK\"\n [ngClass]=\"{\n 'rotate-svg':\n showBackSideCard ||\n cardsFlipType ===\n tableCardTypes.BACK,\n 'svg-position': !showBackSideCard,\n }\"\n >\n <svg-icon\n [src]=\"\n tableCardViewSvgRoutes.flipArrowRoute\n \"\n ></svg-icon>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n@if (displayedDataCount) {\n <app-ca-show-more\n [displayedDataCount]=\"displayedDataCount\"\n [totalDataCount]=\"totalDataCount\"\n (onShowMore)=\"onShowMoreClick()\"\n ></app-ca-show-more>\n}\n", styles: ["@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.cards-container{margin-top:11px;grid-template-columns:repeat(auto-fill,minmax(302px,1fr))}.cards-container .custom-card .card-body{border-radius:2px;height:calc(100% - 8px)}.cards-container .custom-card .card-body .card-body-left{width:calc(100% - 30px)}.cards-container .custom-card .card-body .card-body-left .card-header{gap:10px;position:relative;padding-left:28px;padding-top:4px}.cards-container .custom-card .card-body .card-body-left .card-header.select-hidden{padding-left:4px!important}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder{position:absolute;left:5px;top:6px}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label{width:14px;height:14px;margin-bottom:0;cursor:pointer;transition:background .3s,transform .3s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox-label:hover{background:#919191;transform:scale(1.3)}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label{background-color:#3b73ed;background-repeat:no-repeat;background-position:center;transition:background-color .25s}.cards-container .custom-card .card-body .card-body-left .card-header .checkbox-holder .table-checkbox:checked+.table-checkbox-label:hover{background-color:#0b49d1}.cards-container .custom-card .card-body .card-body-left .card-header .name{font-size:14px;line-height:18px;width:100%}.cards-container .custom-card .card-body .card-body-left .card-header .name .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cards-container .custom-card .card-body .card-body-left .card-header .name .finish-order-holder{width:100%}.cards-container .custom-card .card-body .card-body-left .card-body-content{margin-top:8px}.cards-container .custom-card .card-body .card-body-left .card-body-content .one-row .item-body{height:fit-content}.cards-container .custom-card .card-body .card-body-right{height:100%;padding:4px 4px 0 0;position:relative}.cards-container .custom-card .card-body .card-body-right .top-side{height:100%}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg{width:26px;height:26px;top:2px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg:hover{background:transparent!important}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .note-tooltip{height:30px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dots svg{width:18px;position:relative;bottom:1px}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .rotate-dropdown-svg svg{transform:rotate(90deg);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .top-side .right-side-svg .dropdown-svg-back svg{transform:rotate(0);transition:all .3s}.cards-container .custom-card .card-body .card-body-right .bottom-side{width:26px;height:26px;cursor:pointer;position:absolute;bottom:5px}.cards-container .custom-card .card-body .card-body-right .bottom-side .svg-position{rotate:0deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .expand-card:hover svg path{fill:#424242}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg{rotate:180deg}.cards-container .custom-card .card-body .card-body-right .bottom-side .rotate-svg svg:hover path{fill:#6692f1}.cards-container .custom-card .card-body:hover .finish-order-action{background:#3b73ed;color:#fff!important;transition:color .25s,background .25s}\n"] }]
101
108
  }], ctorParameters: () => [], propDecorators: { frontSide: [{
102
109
  type: Input
103
110
  }], backSide: [{
@@ -116,6 +123,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
116
123
  type: Input
117
124
  }], isSelectHidden: [{
118
125
  type: Input
126
+ }], showBackSide: [{
127
+ type: Input
119
128
  }], showMore: [{
120
129
  type: Output
121
130
  }], selectCard: [{
@@ -125,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
125
134
  }], dropdownOptionEmitter: [{
126
135
  type: Output
127
136
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdGFibGUtY2FyZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXRhYmxlLWNhcmQtdmlldy9jYS10YWJsZS1jYXJkLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdGFibGUtY2FyZC12aWV3L2NhLXRhYmxlLWNhcmQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxhQUFhO0FBQ2IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFTN0UsVUFBVTtBQUNWLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELGFBQWE7QUFDYixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxVQUFVO0FBQ1YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFN0UsUUFBUTtBQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLFFBQVE7QUFDUixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFvQnhDLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsSUFBYSxTQUFT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YztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLFFBQVE7c0JBQWpCLE1BQU07Z0JBR0csVUFBVTtzQkFBbkIsTUFBTTtnQkFHRyxjQUFjO3NCQUF2QixNQUFNO2dCQUVHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYURyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWRyb3Bkb3duLW1lbnUvY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FTaG93TW9yZUNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXNob3ctbW9yZS9jYS1zaG93LW1vcmUuY29tcG9uZW50JztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBDYXJkRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy9jYXJkLW1vZGVscy9jYXJkLXRhYmxlLWRhdGEubW9kZWwnO1xuXG4vLyBpbnRlcmZhY2VzXG5pbXBvcnQgeyBJRHJvcGRvd25NZW51T3B0aW9uRW1pdCB9IGZyb20gJy4uL2NhLWRyb3Bkb3duLW1lbnUvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZUNhcmRCb2R5QWN0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBzdmctcm91dGVzXG5pbXBvcnQgeyBUYWJsZUNhcmRWaWV3U3ZnUm91dGVzIH0gZnJvbSAnLi91dGlscy9zdmctcm91dGVzJztcblxuLy8gaGVscGVyc1xuaW1wb3J0IHsgVGFibGVDYXJkVmlld0hlbHBlciB9IGZyb20gJy4vdXRpbHMvaGVscGVycy90YWJsZS1jYXJkLXZpZXctaGVscGVyJztcblxuLy8gcGlwZXNcbmltcG9ydCB7IElzQ2FyZEZsaXBwZWRQaXBlIH0gZnJvbSAnLi9waXBlcy9pcy1jYXJkLWZsaXBwZWQucGlwZSc7XG5cbi8vIGVudW1zXG5pbXBvcnQgeyBlVGFibGVDYXJkVHlwZXMgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IGVQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYS10YWJsZS1jYXJkLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYS10YWJsZS1jYXJkLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jYS10YWJsZS1jYXJkLXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBtb2R1bGVzXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG5cbiAgICAgICAgLy8gY29tcG9uZW50c1xuICAgICAgICBDYURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgQ2FTaG93TW9yZUNvbXBvbmVudCxcblxuICAgICAgICAvLyBwaXBlc1xuICAgICAgICBJc0NhcmRGbGlwcGVkUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYVRhYmxlQ2FyZFZpZXdDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNldCBmcm9udFNpZGUodmFsdWU6IGFueSkge1xuICAgICAgICAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgICAgICB0aGlzLl9mcm9udFNpZGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYmFja1NpZGUodmFsdWU6IGFueSkge1xuICAgICAgICAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgICAgICB0aGlzLl9iYWNrU2lkZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0aXRsZUljb24odmFsdWU6IGFueSkge1xuICAgICAgICAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgICAgICB0aGlzLl90aXRsZUljb24gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgdmlld0RhdGEodmFsdWU6IGFueVtdKSB7XG4gICAgICAgIC8vVGhpcyBpcyBXSVAgd2lsbCBiZSBjaGFuZ2VkIGxhdGVyLi4uXG4gICAgICAgIHRoaXMuX3ZpZXdEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNhcmRUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NhcmRUaXRsZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHRvdGFsRGF0YUNvdW50ITogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGNhcmRzRmxpcFR5cGUhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNEcm9wZG93bk1lbnVIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc1NlbGVjdEhpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gc2hvdyBtb3JlXG4gICAgQE91dHB1dCgpIHNob3dNb3JlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvLyBzZWxlY3RcbiAgICBAT3V0cHV0KCkgc2VsZWN0Q2FyZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8vIHRpdGxlIGNsaWNrXG4gICAgQE91dHB1dCgpIGNhcmRUaXRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQE91dHB1dCgpIGRyb3Bkb3duT3B0aW9uRW1pdHRlcjogRXZlbnRFbWl0dGVyPFxuICAgICAgICBUYWJsZUNhcmRCb2R5QWN0aW9uczxDYXJkRGV0YWlscz5cbiAgICA+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJsZUNhcmRCb2R5QWN0aW9uczxDYXJkRGV0YWlscz4+KCk7XG5cbiAgICBwdWJsaWMgX2NhcmRUaXRsZSE6IHN0cmluZztcbiAgICBwdWJsaWMgX3ZpZXdEYXRhITogYW55W107IC8vVGhpcyBpcyBXSVAgd2lsbCBiZSBjaGFuZ2VkIGxhdGVyLi4uXG4gICAgcHVibGljIF9mcm9udFNpZGU6IGFueTsgLy9UaGlzIGlzIFdJUCB3aWxsIGJlIGNoYW5nZWQgbGF0ZXIuLi5cbiAgICBwdWJsaWMgX2JhY2tTaWRlOiBhbnk7IC8vVGhpcyBpcyBXSVAgd2lsbCBiZSBjaGFuZ2VkIGxhdGVyLi4uXG5cbiAgICAvLyBmbGlwIGNhcmRzXG4gICAgcHVibGljIGlzQ2FyZEZsaXBwZWRDaGVja0luQ2FyZHM6IG51bWJlcltdID0gW107XG5cbiAgICAvLyBzdmctcm91dGVzXG4gICAgcHVibGljIHRhYmxlQ2FyZFZpZXdTdmdSb3V0ZXMgPSBUYWJsZUNhcmRWaWV3U3ZnUm91dGVzO1xuXG4gICAgLy8gZW51bXNcbiAgICBwdWJsaWMgdGFibGVDYXJkVHlwZXMgPSBlVGFibGVDYXJkVHlwZXM7XG4gICAgcHVibGljIGVQb3NpdGlvbiA9IGVQb3NpdGlvbjtcblxuICAgIC8vIGljb24gdGVtcGxhdGVcbiAgICBwdWJsaWMgX3RpdGxlSWNvbjogYW55OyAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgIFxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIHB1YmxpYyBoYW5kbGVUb2dnbGVEcm9wZG93bk1lbnVBY3Rpb25zKFxuICAgICAgICBldmVudDogSURyb3Bkb3duTWVudU9wdGlvbkVtaXQsXG4gICAgICAgIGNhcmQ6IENhcmREZXRhaWxzXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHsgaWQgfSA9IGNhcmQ7XG5cbiAgICAgICAgY29uc3QgZW1pdEFjdGlvbiA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGRhdGE6IGNhcmQsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdChlbWl0QWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmxpcENhcmQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ2FyZEZsaXBwZWRDaGVja0luQ2FyZHMgPSBUYWJsZUNhcmRWaWV3SGVscGVyLmZsaXBDYXJkKGluZGV4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGVja2JveFNlbGVjdChpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Q2FyZC5lbWl0KGlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FyZFRpdGxlQ2xpY2tlZChpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FyZFRpdGxlQ2xpY2suZW1pdChpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2hvd01vcmVDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93TW9yZS5lbWl0KCk7XG4gICAgfVxufVxuIiwiQGxldCBkaXNwbGF5ZWREYXRhQ291bnQgPSBfdmlld0RhdGEubGVuZ3RoO1xuXG48ZGl2IGNsYXNzPVwiY2FyZHMtY29udGFpbmVyIGQtZ3JpZCBnYXAtMSBtYXJnaW4tci0xNVwiPlxuICAgIEBmb3IgKGNhcmQgb2YgX3ZpZXdEYXRhOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tY2FyZCBici0zIGJnLXdoaXRlXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvZHkgbS0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1ncmF5IGJhY2tncm91bmQtaG92ZXItZ3JheSc6IGNhcmQuaXNTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtaG92ZXItYncyJzogIWNhcmQuaXNTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8IS0tIExlZnQgc2lkZSBvZiB0aGUgY2FyZCAtLT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHktbGVmdCBwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBIZWFkIG9mIHRoZSBjYXJkIC0tPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1oZWFkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0LWhpZGRlbl09XCJpc1NlbGVjdEhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ2hlY2tib3ggLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveC10b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcEJhY2tncm91bmQ9XCIjNDI0MjQyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90YXRlLXN2Zyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNDYXJkRmxpcHBlZENoZWNrSW5DYXJkcz8uaW5jbHVkZXMoaSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3ZnLXBvc2l0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNDYXJkRmxpcHBlZENoZWNrSW5DYXJkcz8uaW5jbHVkZXMoaSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1zdmctZmlsbC1jb2xvcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNDYXJkRmxpcHBlZENoZWNrSW5DYXJkcz8uaW5jbHVkZXMoaSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnIzNiNzNlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGNhLWNoZWNrYm94IGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCwgbGVhdmUgdGhpcyBpbnB1dCBmb3Igbm93IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFpc1NlbGVjdEhpZGRlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jaGVja2JveCBkLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjaGVja2JveHt7IGkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNhcmQuaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrYm94U2VsZWN0KGNhcmQuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNoZWNrYm94LWxhYmVsIGQtZmxleCBiZy1saWdodC1ncmF5LTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNoZWNrYm94e3sgaSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmFtZSBkLWZsZXggZ2FwLTEgdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoX3RpdGxlSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aXRsZUljb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBjYXJkIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYy1wb2ludGVyIHRleHQtY29sb3ItYmxhY2sgdGV4dC1ob3Zlci1ibHVlLTE1IGNhLWZvbnQtYm9sZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXJkVGl0bGVDbGlja2VkKGNhcmQuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNhcmRbX2NhcmRUaXRsZV0gPz8gJy8nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBDYXJkIGJvZHkgZnJvbnQtLT5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5LWNvbnRlbnQgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaXNDYXJkRmxpcHBlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDYXJkRmxpcHBlZENoZWNrSW5DYXJkcykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZHNGbGlwVHlwZSA9PT0gdGFibGVDYXJkVHlwZXMuQkFDS1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYmFja1NpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2Zyb250U2lkZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBjYXJkIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS0gUmlnaHQgc2lkZSBvZiBjYXJkIC0tPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keS1yaWdodCBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1zaWRlIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEcm9wZG93biBNZW51LS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWlzRHJvcGRvd25NZW51SGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNhLWRyb3Bkb3duLW1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ2RvdHMtbWVudS10eXBlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlUG9zaXRpb24uVEFCTEVfQ0FSRFNfRFJPUERPV05fTUVOVVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJjYXJkLnRhYmxlRHJvcGRvd25Db250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyb3Bkb3duT3B0aW9uRW1pdHRlcik9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVRvZ2dsZURyb3Bkb3duTWVudUFjdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jYS1kcm9wZG93bi1tZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE5vdGUgZWxlbWVudCAtLT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90ZS1jb250YWluZXIgcmlnaHQtc2lkZS1zdmcgYnItMiBwb3NpdGlvbi1yZWxhdGl2ZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEV4cGFuZCBlbGVtZW50IC0tPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJib3R0b20tc2lkZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZsaXBDYXJkKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1jYXJkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpblRvb2x0aXA9XCJGbGlwIENhcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUtc3ZnJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NhcmRGbGlwcGVkQ2hlY2tJbkNhcmRzPy5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJkc0ZsaXBUeXBlID09PSB0YWJsZUNhcmRUeXBlcy5CQUNLLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N2Zy1wb3NpdGlvbic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlzQ2FyZEZsaXBwZWRDaGVja0luQ2FyZHM/LmluY2x1ZGVzKGkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZUNhcmRWaWV3U3ZnUm91dGVzLmZsaXBBcnJvd1JvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG5AaWYgKGRpc3BsYXllZERhdGFDb3VudCkge1xuICAgIDxhcHAtY2Etc2hvdy1tb3JlXG4gICAgICAgIFtkaXNwbGF5ZWREYXRhQ291bnRdPVwiZGlzcGxheWVkRGF0YUNvdW50XCJcbiAgICAgICAgW3RvdGFsRGF0YUNvdW50XT1cInRvdGFsRGF0YUNvdW50XCJcbiAgICAgICAgKG9uU2hvd01vcmUpPVwib25TaG93TW9yZUNsaWNrKClcIlxuICAgID48L2FwcC1jYS1zaG93LW1vcmU+XG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdGFibGUtY2FyZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXRhYmxlLWNhcmQtdmlldy9jYS10YWJsZS1jYXJkLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdGFibGUtY2FyZC12aWV3L2NhLXRhYmxlLWNhcmQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxhQUFhO0FBQ2IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFTM0YsVUFBVTtBQUNWLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUQsVUFBVTtBQUNWLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTdFLFFBQVE7QUFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRSxRQUFRO0FBQ1IsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFB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O3dCQUNWLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixVQUFVO3dCQUVWLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFFdkIsUUFBUTt3QkFDUixpQkFBaUI7cUJBQ3BCO3dEQUdZLFNBQVM7c0JBQXJCLEtBQUs7Z0JBS08sUUFBUTtzQkFBcEIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQUtPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBS08sU0FBUztzQkFBckIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHSSxRQUFRO3NCQUFqQixNQUFNO2dCQUdHLFVBQVU7c0JBQW5CLE1BQU07Z0JBR0csY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FEcm9wZG93bk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9jYS1kcm9wZG93bi1tZW51L2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENhU2hvd01vcmVDb21wb25lbnQgfSBmcm9tICcuLi9jYS1zaG93LW1vcmUvY2Etc2hvdy1tb3JlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQ2FyZERldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FyZC1tb2RlbHMvY2FyZC10YWJsZS1kYXRhLm1vZGVsJztcblxuLy8gaW50ZXJmYWNlc1xuaW1wb3J0IHsgSURyb3Bkb3duTWVudU9wdGlvbkVtaXQgfSBmcm9tICcuLi9jYS1kcm9wZG93bi1tZW51L2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGFibGVDYXJkQm9keUFjdGlvbnMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8vIHN2Zy1yb3V0ZXNcbmltcG9ydCB7IFRhYmxlQ2FyZFZpZXdTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzL3N2Zy1yb3V0ZXMnO1xuXG4vLyBoZWxwZXJzXG5pbXBvcnQgeyBUYWJsZUNhcmRWaWV3SGVscGVyIH0gZnJvbSAnLi91dGlscy9oZWxwZXJzL3RhYmxlLWNhcmQtdmlldy1oZWxwZXInO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgSXNDYXJkRmxpcHBlZFBpcGUgfSBmcm9tICcuL3BpcGVzL2lzLWNhcmQtZmxpcHBlZC5waXBlJztcblxuLy8gZW51bXNcbmltcG9ydCB7IGVUYWJsZUNhcmRUeXBlcywgZVRhYmxlQ2FyZEdlbmVyYWwgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IGVQb3NpdGlvbiwgZUNvbG9yIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhLXRhYmxlLWNhcmQtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLXRhYmxlLWNhcmQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NhLXRhYmxlLWNhcmQtdmlldy5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIG1vZHVsZXNcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmdiVG9vbHRpcCxcblxuICAgICAgICAvLyBjb21wb25lbnRzXG4gICAgICAgIENhRHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgICAgICBDYVNob3dNb3JlQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcblxuICAgICAgICAvLyBwaXBlc1xuICAgICAgICBJc0NhcmRGbGlwcGVkUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYVRhYmxlQ2FyZFZpZXdDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNldCBmcm9udFNpZGUodmFsdWU6IGFueSkge1xuICAgICAgICAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgICAgICB0aGlzLl9mcm9udFNpZGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYmFja1NpZGUodmFsdWU6IGFueSkge1xuICAgICAgICAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgICAgICB0aGlzLl9iYWNrU2lkZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0aXRsZUljb24odmFsdWU6IGFueSkge1xuICAgICAgICAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgICAgICB0aGlzLl90aXRsZUljb24gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgdmlld0RhdGEodmFsdWU6IGFueVtdKSB7XG4gICAgICAgIC8vVGhpcyBpcyBXSVAgd2lsbCBiZSBjaGFuZ2VkIGxhdGVyLi4uXG4gICAgICAgIHRoaXMuX3ZpZXdEYXRhID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNhcmRUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NhcmRUaXRsZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHRvdGFsRGF0YUNvdW50ITogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGNhcmRzRmxpcFR5cGUhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNEcm9wZG93bk1lbnVIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc1NlbGVjdEhpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dCYWNrU2lkZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvLyBzaG93IG1vcmVcbiAgICBAT3V0cHV0KCkgc2hvd01vcmU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8vIHNlbGVjdFxuICAgIEBPdXRwdXQoKSBzZWxlY3RDYXJkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLy8gdGl0bGUgY2xpY2tcbiAgICBAT3V0cHV0KCkgY2FyZFRpdGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBAT3V0cHV0KCkgZHJvcGRvd25PcHRpb25FbWl0dGVyOiBFdmVudEVtaXR0ZXI8XG4gICAgICAgIFRhYmxlQ2FyZEJvZHlBY3Rpb25zPENhcmREZXRhaWxzPlxuICAgID4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlQ2FyZEJvZHlBY3Rpb25zPENhcmREZXRhaWxzPj4oKTtcblxuICAgIHB1YmxpYyBfY2FyZFRpdGxlITogc3RyaW5nO1xuICAgIHB1YmxpYyBfdmlld0RhdGEhOiBhbnlbXTsgLy9UaGlzIGlzIFdJUCB3aWxsIGJlIGNoYW5nZWQgbGF0ZXIuLi5cbiAgICBwdWJsaWMgX2Zyb250U2lkZTogYW55OyAvL1RoaXMgaXMgV0lQIHdpbGwgYmUgY2hhbmdlZCBsYXRlci4uLlxuICAgIHB1YmxpYyBfYmFja1NpZGU6IGFueTsgLy9UaGlzIGlzIFdJUCB3aWxsIGJlIGNoYW5nZWQgbGF0ZXIuLi5cblxuICAgIC8vIGZsaXAgY2FyZHNcbiAgICBwdWJsaWMgaXNDYXJkRmxpcHBlZENoZWNrSW5DYXJkczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8vIHN2Zy1yb3V0ZXNcbiAgICBwdWJsaWMgdGFibGVDYXJkVmlld1N2Z1JvdXRlcyA9IFRhYmxlQ2FyZFZpZXdTdmdSb3V0ZXM7XG5cbiAgICAvLyBlbnVtc1xuICAgIHB1YmxpYyB0YWJsZUNhcmRUeXBlcyA9IGVUYWJsZUNhcmRUeXBlcztcbiAgICBwdWJsaWMgZVBvc2l0aW9uID0gZVBvc2l0aW9uO1xuICAgIHB1YmxpYyBlQ29sb3IgPSBlQ29sb3I7XG4gICAgcHVibGljIGVUYWJsZUNhcmRHZW5lcmFsID0gZVRhYmxlQ2FyZEdlbmVyYWw7XG5cbiAgICAvLyBpY29uIHRlbXBsYXRlXG4gICAgcHVibGljIF90aXRsZUljb246IGFueTsgLy9UaGlzIGlzIFdJUCB3aWxsIGJlIGNoYW5nZWQgbGF0ZXIuLi5cbiAgICBcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgaGFuZGxlVG9nZ2xlRHJvcGRvd25NZW51QWN0aW9ucyhcbiAgICAgICAgZXZlbnQ6IElEcm9wZG93bk1lbnVPcHRpb25FbWl0LFxuICAgICAgICBjYXJkOiBDYXJkRGV0YWlsc1xuICAgICkge1xuICAgICAgICBjb25zdCB7IHR5cGUgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCB7IGlkIH0gPSBjYXJkO1xuXG4gICAgICAgIGNvbnN0IGVtaXRBY3Rpb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBkYXRhOiBjYXJkLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcHRpb25FbWl0dGVyLmVtaXQoZW1pdEFjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGZsaXBDYXJkKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NhcmRGbGlwcGVkQ2hlY2tJbkNhcmRzID0gVGFibGVDYXJkVmlld0hlbHBlci5mbGlwQ2FyZChpbmRleCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hlY2tib3hTZWxlY3QoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdENhcmQuZW1pdChpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhcmRUaXRsZUNsaWNrZWQoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcmRUaXRsZUNsaWNrLmVtaXQoaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNob3dNb3JlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd01vcmUuZW1pdCgpO1xuICAgIH1cbn1cbiIsIkBsZXQgZGlzcGxheWVkRGF0YUNvdW50ID0gX3ZpZXdEYXRhLmxlbmd0aDtcblxuPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lciBkLWdyaWQgZ2FwLTEgbWFyZ2luLXItMTVcIj5cbiAgICBAZm9yIChjYXJkIG9mIF92aWV3RGF0YTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNhcmQgYnItMyBiZy13aGl0ZVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ib2R5IG0tMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtZ3JheSBiYWNrZ3JvdW5kLWhvdmVyLWdyYXknOiBjYXJkLmlzU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWhvdmVyLWJ3Mic6ICFjYXJkLmlzU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPCEtLSBMZWZ0IHNpZGUgb2YgdGhlIGNhcmQgLS0+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5LWxlZnQgcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gSGVhZCBvZiB0aGUgY2FyZCAtLT5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtaGVhZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdC1oaWRkZW5dPVwiaXNTZWxlY3RIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENoZWNrYm94IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBCYWNrZ3JvdW5kPVwiIzQyNDI0MlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0ZS1zdmcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2FyZEZsaXBwZWRDaGVja0luQ2FyZHM/LmluY2x1ZGVzKGkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N2Zy1wb3NpdGlvbic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlzQ2FyZEZsaXBwZWRDaGVja0luQ2FyZHM/LmluY2x1ZGVzKGkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc3ZnLWZpbGwtY29sb3InOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2FyZEZsaXBwZWRDaGVja0luQ2FyZHM/LmluY2x1ZGVzKGkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJyMzYjczZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBjYS1jaGVja2JveCBkb2Vzbid0IHdvcmsgYXMgZXhwZWN0ZWQsIGxlYXZlIHRoaXMgaW5wdXQgZm9yIG5vdyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghaXNTZWxlY3RIaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY2hlY2tib3ggZC1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY2hlY2tib3h7eyBpIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjYXJkLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja2JveFNlbGVjdChjYXJkLmlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jaGVja2JveC1sYWJlbCBkLWZsZXggYmctbGlnaHQtZ3JheS02XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJjaGVja2JveHt7IGkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIGQtZmxleCBnYXAtMSB0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoX3RpdGxlSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aXRsZUljb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBjYXJkIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYy1wb2ludGVyIHRleHQtY29sb3ItYmxhY2sgdGV4dC1ob3Zlci1ibHVlLTE1IGNhLWZvbnQtYm9sZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXJkVGl0bGVDbGlja2VkKGNhcmQuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNhcmRbX2NhcmRUaXRsZV0gPz8gJy8nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBDYXJkIGJvZHkgZnJvbnQtLT5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5LWNvbnRlbnQgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0JhY2tTaWRlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpc0NhcmRGbGlwcGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NhcmRGbGlwcGVkQ2hlY2tJbkNhcmRzKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZHNGbGlwVHlwZSA9PT0gdGFibGVDYXJkVHlwZXMuQkFDSylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2JhY2tTaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9mcm9udFNpZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgZGF0YTogY2FyZCB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFJpZ2h0IHNpZGUgb2YgY2FyZCAtLT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHktcmlnaHQgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3Atc2lkZSBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHJvcGRvd24gTWVudS0tPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFpc0Ryb3Bkb3duTWVudUhpZGRlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjYS1kcm9wZG93bi1tZW51XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidkb3RzLW1lbnUtdHlwZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2VtZW50XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZVBvc2l0aW9uLlRBQkxFX0NBUkRTX0RST1BET1dOX01FTlVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiY2FyZC50YWJsZURyb3Bkb3duQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkcm9wZG93bk9wdGlvbkVtaXR0ZXIpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVEcm9wZG93bk1lbnVBY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2EtZHJvcGRvd24tbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBOb3RlIGVsZW1lbnQgLS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGUtY29udGFpbmVyIHJpZ2h0LXNpZGUtc3ZnIGJyLTIgcG9zaXRpb24tcmVsYXRpdmUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFeHBhbmQgZWxlbWVudCAtLT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGxldCBzaG93QmFja1NpZGVDYXJkID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHwgaXNDYXJkRmxpcHBlZDogaXNDYXJkRmxpcHBlZENoZWNrSW5DYXJkcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93QmFja1NpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm90dG9tLXNpZGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmxpcENhcmQoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5kLWNhcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJlVGFibGVDYXJkR2VuZXJhbC5GTElQX0NBUkRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cImVQb3NpdGlvbi5CT1RUT01cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cImVDb2xvci5CTEFDS1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0ZS1zdmcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93QmFja1NpZGVDYXJkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcmRzRmxpcFR5cGUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZUNhcmRUeXBlcy5CQUNLLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdmctcG9zaXRpb24nOiAhc2hvd0JhY2tTaWRlQ2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZUNhcmRWaWV3U3ZnUm91dGVzLmZsaXBBcnJvd1JvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuQGlmIChkaXNwbGF5ZWREYXRhQ291bnQpIHtcbiAgICA8YXBwLWNhLXNob3ctbW9yZVxuICAgICAgICBbZGlzcGxheWVkRGF0YUNvdW50XT1cImRpc3BsYXllZERhdGFDb3VudFwiXG4gICAgICAgIFt0b3RhbERhdGFDb3VudF09XCJ0b3RhbERhdGFDb3VudFwiXG4gICAgICAgIChvblNob3dNb3JlKT1cIm9uU2hvd01vcmVDbGljaygpXCJcbiAgICA+PC9hcHAtY2Etc2hvdy1tb3JlPlxufVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './table-card-types.enum';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS10YWJsZS1jYXJkLXZpZXcvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFibGUtY2FyZC10eXBlcy5lbnVtJzsiXX0=
2
+ export * from './table-card-general.enum';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS10YWJsZS1jYXJkLXZpZXcvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jYXJkLXR5cGVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jYXJkLWdlbmVyYWwuZW51bSc7Il19
@@ -0,0 +1,5 @@
1
+ export var eTableCardGeneral;
2
+ (function (eTableCardGeneral) {
3
+ eTableCardGeneral["FLIP_CARD"] = "Flip Card";
4
+ })(eTableCardGeneral || (eTableCardGeneral = {}));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2FyZC1nZW5lcmFsLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS10YWJsZS1jYXJkLXZpZXcvZW51bXMvdGFibGUtY2FyZC1nZW5lcmFsLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBRVg7QUFGRCxXQUFZLGlCQUFpQjtJQUN6Qiw0Q0FBdUIsQ0FBQTtBQUMzQixDQUFDLEVBRlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUU1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIGVUYWJsZUNhcmRHZW5lcmFsIHtcbiAgICBGTElQX0NBUkQgPSAnRmxpcCBDYXJkJyxcbn1cbiJdfQ==