@testgorilla/tgo-ui 3.10.18 → 3.10.20
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/components/button/button.model.d.ts +1 -1
- package/components/donut-chart/donut-chart.component.d.ts +2 -2
- package/components/field/field.component.d.ts +8 -1
- package/components/inline-field/inline-field.component.d.ts +153 -0
- package/components/inline-field/inline-field.component.module.d.ts +13 -0
- package/components/inline-field/inline-field.model.d.ts +107 -0
- package/components/overflow-menu/overflow-menu.component.d.ts +9 -6
- package/components/overflow-menu/overflow-menu.model.d.ts +2 -1
- package/esm2022/components/button/button.component.mjs +6 -6
- package/esm2022/components/button/button.component.module.mjs +4 -4
- package/esm2022/components/button/button.model.mjs +1 -1
- package/esm2022/components/field/field.component.mjs +12 -3
- package/esm2022/components/filter-button/filter-button.component.mjs +1 -1
- package/esm2022/components/inline-field/inline-field.component.mjs +320 -0
- package/esm2022/components/inline-field/inline-field.component.module.mjs +43 -0
- package/esm2022/components/inline-field/inline-field.model.mjs +2 -0
- package/esm2022/components/multi-input/multi-input.component.mjs +1 -1
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +36 -22
- package/esm2022/components/overflow-menu/overflow-menu.model.mjs +1 -1
- package/esm2022/components/password-criteria/password.component.mjs +1 -1
- package/esm2022/public-api.mjs +6 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +401 -30
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +4 -3
- package/public-api.d.ts +4 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, signal, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { MatMenu, MatMenuTrigger } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, signal, ViewChild, ViewChildren, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/cdk/a11y";
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
@@ -74,6 +74,7 @@ export class OverflowMenuComponent {
|
|
|
74
74
|
*/
|
|
75
75
|
this.buttonSize = 'medium';
|
|
76
76
|
this.menuConfig = DEFAULT_MENU_CONFIG;
|
|
77
|
+
this.isDynamicMenu = false;
|
|
77
78
|
this.selectItem = new EventEmitter();
|
|
78
79
|
this.menuOpened = new EventEmitter();
|
|
79
80
|
this.menuClosed = new EventEmitter();
|
|
@@ -87,9 +88,16 @@ export class OverflowMenuComponent {
|
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
ngOnInit() {
|
|
90
|
-
this.createSubmenus(this.buttons,
|
|
91
|
+
this.createSubmenus(this.buttons, 's0', 1);
|
|
91
92
|
this.reindex();
|
|
92
93
|
}
|
|
94
|
+
ngOnChanges(changes) {
|
|
95
|
+
if (changes['buttons'] && this.isDynamicMenu) {
|
|
96
|
+
this.resetSubmenus();
|
|
97
|
+
this.createSubmenus(this.buttons, 's0', 1);
|
|
98
|
+
this.reindex();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
93
101
|
ngAfterViewInit() {
|
|
94
102
|
this.isMenuRendered.set(true);
|
|
95
103
|
setTimeout(() => {
|
|
@@ -152,30 +160,34 @@ export class OverflowMenuComponent {
|
|
|
152
160
|
button.isHovered = state;
|
|
153
161
|
}
|
|
154
162
|
getMenu(index) {
|
|
155
|
-
return index >= 0 && this.matmenus ? this.matmenus.find((x, i) => i
|
|
163
|
+
return index >= 0 && this.matmenus ? (this.matmenus.find((x, i) => i === index) ?? null) : null;
|
|
156
164
|
}
|
|
157
165
|
reindex() {
|
|
158
166
|
this.submenus.forEach((menu) => {
|
|
159
|
-
menu.forEach((item
|
|
160
|
-
if (item.subMenu !== -1)
|
|
161
|
-
item.subMenu = this.menuItems.indexOf(item.action
|
|
167
|
+
menu.forEach((item) => {
|
|
168
|
+
if (item.subMenu !== -1) {
|
|
169
|
+
item.subMenu = this.menuItems.indexOf(`${item.action}`);
|
|
170
|
+
}
|
|
162
171
|
});
|
|
163
172
|
});
|
|
164
173
|
}
|
|
174
|
+
resetSubmenus() {
|
|
175
|
+
this.submenus = [];
|
|
176
|
+
this.menuItems = [];
|
|
177
|
+
}
|
|
165
178
|
createSubmenus(menu, prefix, count) {
|
|
166
179
|
this.menuItems.push(prefix);
|
|
167
|
-
this.submenus.push(menu.map((item, index) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}));
|
|
180
|
+
this.submenus.push(menu.map((item, index) => ({
|
|
181
|
+
label: item.label,
|
|
182
|
+
icon: item.icon,
|
|
183
|
+
isDestructive: item.isDestructive,
|
|
184
|
+
tooltipText: item.tooltipText,
|
|
185
|
+
value: item.value,
|
|
186
|
+
disabled: item.disabled,
|
|
187
|
+
btnTemplate: item.btnTemplate,
|
|
188
|
+
subMenu: item.subMenu ? 0 : -1,
|
|
189
|
+
action: item.action ? item.action : prefix + index,
|
|
190
|
+
})));
|
|
179
191
|
menu.forEach((item, index) => {
|
|
180
192
|
if (item.subMenu) {
|
|
181
193
|
this.createSubmenus(item.subMenu, prefix + index, count + 1);
|
|
@@ -183,11 +195,11 @@ export class OverflowMenuComponent {
|
|
|
183
195
|
});
|
|
184
196
|
}
|
|
185
197
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OverflowMenuComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OverflowMenuComponent, selector: "ui-overflow-menu", inputs: { buttons: "buttons", iconTrigger: "iconTrigger", menuLabel: "menuLabel", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", describedby: "describedby", contentTemplateRef: "contentTemplateRef", buttonVariant: "buttonVariant", buttonSize: "buttonSize", menuConfig: "menuConfig" }, outputs: { selectItem: "selectItem", menuOpened: "menuOpened", menuClosed: "menuClosed" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["buttonElement"], descendants: true }, { propertyName: "matmenus", predicate: MatMenu, descendants: true }, { propertyName: "matTrigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"overflow-menu-container\" [attr.theme]=\"applicationTheme\">\n <button\n #buttonElement\n mat-button\n [ngClass]=\"{\n 'icon-button': !contentTemplateRef && !buttonVariant,\n 'content-template': contentTemplateRef,\n 'no-hover': buttonVariant,\n }\"\n *ngIf=\"isMenuRendered()\"\n [matMenuTriggerFor]=\"matmenus.first\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isMenuOpened()\"\n disableRipple\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"onMenuClosed()\"\n class=\"overflow-menu-opener\"\n [matTooltip]=\"menuLabel\"\n >\n <span [id]=\"'describedby'\" [style.display]=\"'none'\">{{ describedby }}</span>\n @if (buttonVariant) {\n <ui-button\n [variant]=\"buttonVariant\"\n [justIcon]=\"true\"\n [iconName]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [disabled]=\"false\"\n [size]=\"buttonSize\"\n >\n </ui-button>\n } @else if (contentTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n } @else {\n <ui-icon\n [name]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n ></ui-icon>\n }\n </button>\n\n @for (menu of submenus; track menu) {\n <mat-menu\n [xPosition]=\"menuConfig.xPosition\"\n [yPosition]=\"menuConfig.yPosition\"\n #matMenu\n [class]=\"'overflow-menu ' + menuConfig.panelClass\"\n [overlapTrigger]=\"menuConfig.overlapTrigger\"\n backdropClass=\"overflow-menu-backdrop\"\n >\n <ng-container *ngFor=\"let button of menu; index as id\">\n <ng-container\n *ngIf=\"button.btnTemplate; else uiButton\"\n [ngTemplateOutlet]=\"button.btnTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: button }\"\n ></ng-container>\n\n <ng-template #uiButton>\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"getMenu(button.subMenu)\"\n (menuOpened)=\"onSubmenuOpened()\"\n (focus)=\"onButtonFocus(button)\"\n (blur)=\"onButtonBlur(button)\"\n (mouseenter)=\"onButtonHover(button, true)\"\n (mouseleave)=\"onButtonHover(button, false)\"\n [ngClass]=\"{ 'is-destructive': button.isDestructive, disabled: button.disabled }\"\n disableRipple\n (click)=\"onButtonClick(button, $event)\"\n [matTooltip]=\"button.isTextEllipsed ? button.label : ''\"\n [attr.aria-labelledby]=\"'labelledby-' + button.label + id\"\n [attr.aria-describedby]=\"'describedby-' + button.label + id\"\n [attr.aria-label]=\"button.ariaLabel || null\"\n role=\"menuitem\"\n matTooltipPosition=\"right\"\n >\n <span [id]=\"'describedby-' + button.label + id\" [style.display]=\"'none'\">\n {{\n button.disabled\n ? ('MENU.MENUITEM_DISABLED' | uiTranslate | async) + ' ' + (button.describedby || '')\n : button.describedby\n }}\n </span>\n\n <ui-icon\n [name]=\"button.icon\"\n [toggleIconStyle]=\"true\"\n [filled]=\"\n button.disabled ? false : button.isHovered ? true : menuItemHasHovered ? false : !!button.isFocused\n \"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"button.isDestructive ? 'red' : button.disabled ? 'dark' : 'rebrand-black'\"\n ></ui-icon>\n <span\n [id]=\"'labelledby-' + button.label + id\"\n class=\"label\"\n uiEllipseText\n [refresh]=\"isMenuOpened()\"\n [maxDiffPixels]=\"1\"\n [isMultiline]=\"true\"\n (onChangeTextState)=\"button.isTextEllipsed = $event\"\n >{{ button.label }}</span\n >\n </button>\n </ng-template>\n </ng-container>\n\n <ng-content select=\"[menu-content]\"></ng-content>\n </mat-menu>\n }\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep .overflow-menu .mat-mdc-menu-content:not(:empty){padding:0}:host ::ng-deep .overflow-menu button{padding:0!important;width:fit-content!important}.overflow-menu-opener{background:transparent;border:unset;cursor:pointer}.overflow-menu-opener.content-template{display:flex;justify-content:flex-start;height:100%;width:100%}.overflow-menu-opener.icon-button{height:40px;width:40px;border-radius:50px;display:flex;align-items:center;justify-content:center}.overflow-menu-opener:focus-visible{outline-color:#242424;outline-style:solid;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}@keyframes focus-ring-animation{0%{outline-width:4px!important}to{outline-width:2px!important}}.overflow-menu-opener:hover{background:#e9e9e9}.overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:8px;box-shadow:2px 24px 48px 8px #00000014}.overflow-menu-backdrop+* .mat-mdc-menu-content:not(:empty){padding:0}.overflow-menu-backdrop+* .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-top:16px;padding-bottom:16px}.overflow-menu-backdrop+* ui-button:first-child button.mat-mdc-unelevated-button.menuCell{border-radius:8px 8px 0 0}.overflow-menu-backdrop+* ui-button:last-child button.mat-mdc-unelevated-button.menuCell{border-radius:0 0 8px 8px}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#f0dad9}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#f0dad9}[theme=dark] .overflow-menu-backdrop+* .mat-mdc-menu-panel,[theme=light] .overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:10px;box-shadow:0 4px 16px #24242414}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#ffe6fa}button.is-destructive{background-color:#fff;color:#e02800}button.is-destructive:hover{background-color:#e02800}button.is-destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive:disabled,button.is-destructive:disabled:hover{color:#919191;background:transparent}button.is-destructive ::ng-deep mat-icon.black svg{color:#e02800}button.is-destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.is-destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.is-destructive.classic-theme:hover{background-color:#8e5655}button.is-destructive.classic-theme:disabled,button.is-destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.is-destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal;line-height:16px}button.disabled{background:transparent;color:#888;cursor:not-allowed}button.disabled:hover{background:transparent!important}.overflow-menu-opener.no-hover:hover{background:transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
198
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OverflowMenuComponent, selector: "ui-overflow-menu", inputs: { buttons: "buttons", iconTrigger: "iconTrigger", menuLabel: "menuLabel", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", describedby: "describedby", contentTemplateRef: "contentTemplateRef", buttonVariant: "buttonVariant", buttonSize: "buttonSize", menuConfig: "menuConfig", isDynamicMenu: "isDynamicMenu" }, outputs: { selectItem: "selectItem", menuOpened: "menuOpened", menuClosed: "menuClosed" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["buttonElement"], descendants: true }, { propertyName: "matmenus", predicate: MatMenu, descendants: true }, { propertyName: "matTrigger", predicate: MatMenuTrigger, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"overflow-menu-container\" [attr.theme]=\"applicationTheme\">\n <button\n #buttonElement\n mat-button\n [ngClass]=\"{\n 'icon-button': !contentTemplateRef && !buttonVariant,\n 'content-template': contentTemplateRef,\n 'no-hover': buttonVariant,\n }\"\n *ngIf=\"isMenuRendered()\"\n [matMenuTriggerFor]=\"matmenus.first\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isMenuOpened()\"\n disableRipple\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"onMenuClosed()\"\n class=\"overflow-menu-opener\"\n [matTooltip]=\"menuLabel\"\n >\n <span [id]=\"'describedby'\" [style.display]=\"'none'\">{{ describedby }}</span>\n @if (buttonVariant) {\n <ui-button\n [variant]=\"buttonVariant\"\n [justIcon]=\"true\"\n [iconName]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [disabled]=\"false\"\n [size]=\"buttonSize\"\n >\n </ui-button>\n } @else if (contentTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n } @else {\n <ui-icon\n [name]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n ></ui-icon>\n }\n </button>\n\n @for (menu of submenus; track menu) {\n <mat-menu\n [xPosition]=\"menuConfig.xPosition\"\n [yPosition]=\"menuConfig.yPosition\"\n #matMenu\n [class]=\"'overflow-menu ' + menuConfig.panelClass\"\n [overlapTrigger]=\"menuConfig.overlapTrigger\"\n backdropClass=\"overflow-menu-backdrop\"\n >\n <ng-container *ngFor=\"let button of menu; index as id\">\n <ng-container\n *ngIf=\"button.btnTemplate; else uiButton\"\n [ngTemplateOutlet]=\"button.btnTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: button }\"\n ></ng-container>\n\n <ng-template #uiButton>\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"getMenu(button.subMenu)\"\n (menuOpened)=\"onSubmenuOpened()\"\n (focus)=\"onButtonFocus(button)\"\n (blur)=\"onButtonBlur(button)\"\n (mouseenter)=\"onButtonHover(button, true)\"\n (mouseleave)=\"onButtonHover(button, false)\"\n [ngClass]=\"{ 'is-destructive': button.isDestructive, disabled: button.disabled }\"\n disableRipple\n (click)=\"onButtonClick(button, $event)\"\n [matTooltip]=\"button.tooltipText ? button.tooltipText : (button.isTextEllipsed ? button.label : '')\"\n [attr.aria-labelledby]=\"'labelledby-' + button.label + id\"\n [attr.aria-describedby]=\"'describedby-' + button.label + id\"\n [attr.aria-label]=\"button.ariaLabel || null\"\n role=\"menuitem\"\n matTooltipPosition=\"right\"\n >\n <span [id]=\"'describedby-' + button.label + id\" [style.display]=\"'none'\">\n {{\n button.disabled\n ? ('MENU.MENUITEM_DISABLED' | uiTranslate | async) + ' ' + (button.describedby || '')\n : button.describedby\n }}\n </span>\n\n <ui-icon\n [name]=\"button.icon\"\n [toggleIconStyle]=\"true\"\n [filled]=\"\n button.disabled ? false : button.isHovered ? true : menuItemHasHovered ? false : !!button.isFocused\n \"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"button.isDestructive ? 'red' : button.disabled ? 'dark' : 'rebrand-black'\"\n ></ui-icon>\n <span\n [id]=\"'labelledby-' + button.label + id\"\n class=\"label\"\n uiEllipseText\n [refresh]=\"isMenuOpened()\"\n [maxDiffPixels]=\"1\"\n [isMultiline]=\"true\"\n (onChangeTextState)=\"button.isTextEllipsed = $event\"\n >{{ button.label }}</span\n >\n </button>\n </ng-template>\n </ng-container>\n\n <ng-content select=\"[menu-content]\"></ng-content>\n </mat-menu>\n }\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep .overflow-menu .mat-mdc-menu-content:not(:empty){padding:0}:host ::ng-deep .overflow-menu button{padding:0!important;width:fit-content!important}.overflow-menu-opener{background:transparent;border:unset;cursor:pointer}.overflow-menu-opener.content-template{display:flex;justify-content:flex-start;height:100%;width:100%}.overflow-menu-opener.icon-button{height:40px;width:40px;border-radius:50px;display:flex;align-items:center;justify-content:center}.overflow-menu-opener:focus-visible{outline-color:#242424;outline-style:solid;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}@keyframes focus-ring-animation{0%{outline-width:4px!important}to{outline-width:2px!important}}.overflow-menu-opener:hover{background:#e9e9e9}.overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:8px;box-shadow:2px 24px 48px 8px #00000014}.overflow-menu-backdrop+* .mat-mdc-menu-content:not(:empty){padding:0}.overflow-menu-backdrop+* .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-top:16px;padding-bottom:16px}.overflow-menu-backdrop+* ui-button:first-child button.mat-mdc-unelevated-button.menuCell{border-radius:8px 8px 0 0}.overflow-menu-backdrop+* ui-button:last-child button.mat-mdc-unelevated-button.menuCell{border-radius:0 0 8px 8px}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#f0dad9}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#f0dad9}[theme=dark] .overflow-menu-backdrop+* .mat-mdc-menu-panel,[theme=light] .overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:10px;box-shadow:0 4px 16px #24242414}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#ffe6fa}button.is-destructive{background-color:#fff;color:#e02800}button.is-destructive:hover{background-color:#e02800}button.is-destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive:disabled,button.is-destructive:disabled:hover{color:#919191;background:transparent}button.is-destructive ::ng-deep mat-icon.black svg{color:#e02800}button.is-destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.is-destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.is-destructive.classic-theme:hover{background-color:#8e5655}button.is-destructive.classic-theme:disabled,button.is-destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.is-destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal;line-height:16px}button.disabled{background:transparent;color:#888;cursor:not-allowed}button.disabled:hover{background:transparent!important}.overflow-menu-opener.no-hover:hover{background:transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
187
199
|
}
|
|
188
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OverflowMenuComponent, decorators: [{
|
|
189
201
|
type: Component,
|
|
190
|
-
args: [{ selector: 'ui-overflow-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"overflow-menu-container\" [attr.theme]=\"applicationTheme\">\n <button\n #buttonElement\n mat-button\n [ngClass]=\"{\n 'icon-button': !contentTemplateRef && !buttonVariant,\n 'content-template': contentTemplateRef,\n 'no-hover': buttonVariant,\n }\"\n *ngIf=\"isMenuRendered()\"\n [matMenuTriggerFor]=\"matmenus.first\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isMenuOpened()\"\n disableRipple\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"onMenuClosed()\"\n class=\"overflow-menu-opener\"\n [matTooltip]=\"menuLabel\"\n >\n <span [id]=\"'describedby'\" [style.display]=\"'none'\">{{ describedby }}</span>\n @if (buttonVariant) {\n <ui-button\n [variant]=\"buttonVariant\"\n [justIcon]=\"true\"\n [iconName]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [disabled]=\"false\"\n [size]=\"buttonSize\"\n >\n </ui-button>\n } @else if (contentTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n } @else {\n <ui-icon\n [name]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n ></ui-icon>\n }\n </button>\n\n @for (menu of submenus; track menu) {\n <mat-menu\n [xPosition]=\"menuConfig.xPosition\"\n [yPosition]=\"menuConfig.yPosition\"\n #matMenu\n [class]=\"'overflow-menu ' + menuConfig.panelClass\"\n [overlapTrigger]=\"menuConfig.overlapTrigger\"\n backdropClass=\"overflow-menu-backdrop\"\n >\n <ng-container *ngFor=\"let button of menu; index as id\">\n <ng-container\n *ngIf=\"button.btnTemplate; else uiButton\"\n [ngTemplateOutlet]=\"button.btnTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: button }\"\n ></ng-container>\n\n <ng-template #uiButton>\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"getMenu(button.subMenu)\"\n (menuOpened)=\"onSubmenuOpened()\"\n (focus)=\"onButtonFocus(button)\"\n (blur)=\"onButtonBlur(button)\"\n (mouseenter)=\"onButtonHover(button, true)\"\n (mouseleave)=\"onButtonHover(button, false)\"\n [ngClass]=\"{ 'is-destructive': button.isDestructive, disabled: button.disabled }\"\n disableRipple\n (click)=\"onButtonClick(button, $event)\"\n [matTooltip]=\"button.isTextEllipsed ? button.label : ''\"\n [attr.aria-labelledby]=\"'labelledby-' + button.label + id\"\n [attr.aria-describedby]=\"'describedby-' + button.label + id\"\n [attr.aria-label]=\"button.ariaLabel || null\"\n role=\"menuitem\"\n matTooltipPosition=\"right\"\n >\n <span [id]=\"'describedby-' + button.label + id\" [style.display]=\"'none'\">\n {{\n button.disabled\n ? ('MENU.MENUITEM_DISABLED' | uiTranslate | async) + ' ' + (button.describedby || '')\n : button.describedby\n }}\n </span>\n\n <ui-icon\n [name]=\"button.icon\"\n [toggleIconStyle]=\"true\"\n [filled]=\"\n button.disabled ? false : button.isHovered ? true : menuItemHasHovered ? false : !!button.isFocused\n \"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"button.isDestructive ? 'red' : button.disabled ? 'dark' : 'rebrand-black'\"\n ></ui-icon>\n <span\n [id]=\"'labelledby-' + button.label + id\"\n class=\"label\"\n uiEllipseText\n [refresh]=\"isMenuOpened()\"\n [maxDiffPixels]=\"1\"\n [isMultiline]=\"true\"\n (onChangeTextState)=\"button.isTextEllipsed = $event\"\n >{{ button.label }}</span\n >\n </button>\n </ng-template>\n </ng-container>\n\n <ng-content select=\"[menu-content]\"></ng-content>\n </mat-menu>\n }\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep .overflow-menu .mat-mdc-menu-content:not(:empty){padding:0}:host ::ng-deep .overflow-menu button{padding:0!important;width:fit-content!important}.overflow-menu-opener{background:transparent;border:unset;cursor:pointer}.overflow-menu-opener.content-template{display:flex;justify-content:flex-start;height:100%;width:100%}.overflow-menu-opener.icon-button{height:40px;width:40px;border-radius:50px;display:flex;align-items:center;justify-content:center}.overflow-menu-opener:focus-visible{outline-color:#242424;outline-style:solid;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}@keyframes focus-ring-animation{0%{outline-width:4px!important}to{outline-width:2px!important}}.overflow-menu-opener:hover{background:#e9e9e9}.overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:8px;box-shadow:2px 24px 48px 8px #00000014}.overflow-menu-backdrop+* .mat-mdc-menu-content:not(:empty){padding:0}.overflow-menu-backdrop+* .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-top:16px;padding-bottom:16px}.overflow-menu-backdrop+* ui-button:first-child button.mat-mdc-unelevated-button.menuCell{border-radius:8px 8px 0 0}.overflow-menu-backdrop+* ui-button:last-child button.mat-mdc-unelevated-button.menuCell{border-radius:0 0 8px 8px}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#f0dad9}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#f0dad9}[theme=dark] .overflow-menu-backdrop+* .mat-mdc-menu-panel,[theme=light] .overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:10px;box-shadow:0 4px 16px #24242414}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#ffe6fa}button.is-destructive{background-color:#fff;color:#e02800}button.is-destructive:hover{background-color:#e02800}button.is-destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive:disabled,button.is-destructive:disabled:hover{color:#919191;background:transparent}button.is-destructive ::ng-deep mat-icon.black svg{color:#e02800}button.is-destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.is-destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.is-destructive.classic-theme:hover{background-color:#8e5655}button.is-destructive.classic-theme:disabled,button.is-destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.is-destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal;line-height:16px}button.disabled{background:transparent;color:#888;cursor:not-allowed}button.disabled:hover{background:transparent!important}.overflow-menu-opener.no-hover:hover{background:transparent}\n"] }]
|
|
202
|
+
args: [{ selector: 'ui-overflow-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"overflow-menu-container\" [attr.theme]=\"applicationTheme\">\n <button\n #buttonElement\n mat-button\n [ngClass]=\"{\n 'icon-button': !contentTemplateRef && !buttonVariant,\n 'content-template': contentTemplateRef,\n 'no-hover': buttonVariant,\n }\"\n *ngIf=\"isMenuRendered()\"\n [matMenuTriggerFor]=\"matmenus.first\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isMenuOpened()\"\n disableRipple\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"onMenuClosed()\"\n class=\"overflow-menu-opener\"\n [matTooltip]=\"menuLabel\"\n >\n <span [id]=\"'describedby'\" [style.display]=\"'none'\">{{ describedby }}</span>\n @if (buttonVariant) {\n <ui-button\n [variant]=\"buttonVariant\"\n [justIcon]=\"true\"\n [iconName]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [disabled]=\"false\"\n [size]=\"buttonSize\"\n >\n </ui-button>\n } @else if (contentTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n } @else {\n <ui-icon\n [name]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n ></ui-icon>\n }\n </button>\n\n @for (menu of submenus; track menu) {\n <mat-menu\n [xPosition]=\"menuConfig.xPosition\"\n [yPosition]=\"menuConfig.yPosition\"\n #matMenu\n [class]=\"'overflow-menu ' + menuConfig.panelClass\"\n [overlapTrigger]=\"menuConfig.overlapTrigger\"\n backdropClass=\"overflow-menu-backdrop\"\n >\n <ng-container *ngFor=\"let button of menu; index as id\">\n <ng-container\n *ngIf=\"button.btnTemplate; else uiButton\"\n [ngTemplateOutlet]=\"button.btnTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: button }\"\n ></ng-container>\n\n <ng-template #uiButton>\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"getMenu(button.subMenu)\"\n (menuOpened)=\"onSubmenuOpened()\"\n (focus)=\"onButtonFocus(button)\"\n (blur)=\"onButtonBlur(button)\"\n (mouseenter)=\"onButtonHover(button, true)\"\n (mouseleave)=\"onButtonHover(button, false)\"\n [ngClass]=\"{ 'is-destructive': button.isDestructive, disabled: button.disabled }\"\n disableRipple\n (click)=\"onButtonClick(button, $event)\"\n [matTooltip]=\"button.tooltipText ? button.tooltipText : (button.isTextEllipsed ? button.label : '')\"\n [attr.aria-labelledby]=\"'labelledby-' + button.label + id\"\n [attr.aria-describedby]=\"'describedby-' + button.label + id\"\n [attr.aria-label]=\"button.ariaLabel || null\"\n role=\"menuitem\"\n matTooltipPosition=\"right\"\n >\n <span [id]=\"'describedby-' + button.label + id\" [style.display]=\"'none'\">\n {{\n button.disabled\n ? ('MENU.MENUITEM_DISABLED' | uiTranslate | async) + ' ' + (button.describedby || '')\n : button.describedby\n }}\n </span>\n\n <ui-icon\n [name]=\"button.icon\"\n [toggleIconStyle]=\"true\"\n [filled]=\"\n button.disabled ? false : button.isHovered ? true : menuItemHasHovered ? false : !!button.isFocused\n \"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"button.isDestructive ? 'red' : button.disabled ? 'dark' : 'rebrand-black'\"\n ></ui-icon>\n <span\n [id]=\"'labelledby-' + button.label + id\"\n class=\"label\"\n uiEllipseText\n [refresh]=\"isMenuOpened()\"\n [maxDiffPixels]=\"1\"\n [isMultiline]=\"true\"\n (onChangeTextState)=\"button.isTextEllipsed = $event\"\n >{{ button.label }}</span\n >\n </button>\n </ng-template>\n </ng-container>\n\n <ng-content select=\"[menu-content]\"></ng-content>\n </mat-menu>\n }\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep .overflow-menu .mat-mdc-menu-content:not(:empty){padding:0}:host ::ng-deep .overflow-menu button{padding:0!important;width:fit-content!important}.overflow-menu-opener{background:transparent;border:unset;cursor:pointer}.overflow-menu-opener.content-template{display:flex;justify-content:flex-start;height:100%;width:100%}.overflow-menu-opener.icon-button{height:40px;width:40px;border-radius:50px;display:flex;align-items:center;justify-content:center}.overflow-menu-opener:focus-visible{outline-color:#242424;outline-style:solid;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}@keyframes focus-ring-animation{0%{outline-width:4px!important}to{outline-width:2px!important}}.overflow-menu-opener:hover{background:#e9e9e9}.overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:8px;box-shadow:2px 24px 48px 8px #00000014}.overflow-menu-backdrop+* .mat-mdc-menu-content:not(:empty){padding:0}.overflow-menu-backdrop+* .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-top:16px;padding-bottom:16px}.overflow-menu-backdrop+* ui-button:first-child button.mat-mdc-unelevated-button.menuCell{border-radius:8px 8px 0 0}.overflow-menu-backdrop+* ui-button:last-child button.mat-mdc-unelevated-button.menuCell{border-radius:0 0 8px 8px}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#f0dad9}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#f0dad9}[theme=dark] .overflow-menu-backdrop+* .mat-mdc-menu-panel,[theme=light] .overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:10px;box-shadow:0 4px 16px #24242414}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#ffe6fa}button.is-destructive{background-color:#fff;color:#e02800}button.is-destructive:hover{background-color:#e02800}button.is-destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive:disabled,button.is-destructive:disabled:hover{color:#919191;background:transparent}button.is-destructive ::ng-deep mat-icon.black svg{color:#e02800}button.is-destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.is-destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.is-destructive.classic-theme:hover{background-color:#8e5655}button.is-destructive.classic-theme:disabled,button.is-destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.is-destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal;line-height:16px}button.disabled{background:transparent;color:#888;cursor:not-allowed}button.disabled:hover{background:transparent!important}.overflow-menu-opener.no-hover:hover{background:transparent}\n"] }]
|
|
191
203
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
192
204
|
type: Optional
|
|
193
205
|
}, {
|
|
@@ -215,6 +227,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
215
227
|
type: Input
|
|
216
228
|
}], menuConfig: [{
|
|
217
229
|
type: Input
|
|
230
|
+
}], isDynamicMenu: [{
|
|
231
|
+
type: Input
|
|
218
232
|
}], selectItem: [{
|
|
219
233
|
type: Output
|
|
220
234
|
}], menuOpened: [{
|
|
@@ -231,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
231
245
|
type: ViewChild,
|
|
232
246
|
args: ['buttonElement']
|
|
233
247
|
}] } });
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvb3ZlcmZsb3ctbWVudS9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFJakUsTUFBTSxtQkFBbUIsR0FBZTtJQUN0QyxjQUFjLEVBQUUsS0FBSztJQUNyQixVQUFVLEVBQUUsRUFBRTtJQUNkLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0NBQ25CLENBQUE7QUFVRCxNQUFNLE9BQU8scUJBQXFCO0lBb0doQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxZQUM2RSxlQUFpQyxFQUNwRyxZQUEwQixFQUMxQixNQUFjO1FBRnFELG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNwRyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixXQUFN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LE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsWUFBWTt1QkFBQyxPQUFPO2dCQUNTLFVBQVU7c0JBQXZDLFlBQVk7dUJBQUMsY0FBYztnQkFDQSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IE1lbnVDb25maWcsIE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSwgT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUgfSBmcm9tICcuL292ZXJmbG93LW1lbnUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWxcIjtcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xuaW1wb3J0IHsgQnV0dG9uQ29sb3IsIEJ1dHRvblNpemUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZGVsJztcblxuY29uc3QgREVGQVVMVF9NRU5VX0NPTkZJRzogTWVudUNvbmZpZyA9IHtcbiAgb3ZlcmxhcFRyaWdnZXI6IGZhbHNlLFxuICBwYW5lbENsYXNzOiAnJyxcbiAgeFBvc2l0aW9uOiAnYWZ0ZXInLFxuICB5UG9zaXRpb246ICdiZWxvdycsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLW92ZXJmbG93LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmZsb3ctbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL292ZXJmbG93LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIE1lbnUgYnV0dG9uc1xuICAgKlxuICAgKiBAdHlwZSB7T3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXX1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYnV0dG9uczogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXTtcblxuICAvKipcbiAgICogTWVudSBpY29uIHRyaWdnZXJcbiAgICpcbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvblRyaWdnZXI6IEljb25OYW1lID0gJ01lbnUtZWxsaXBzaXMnO1xuXG4gIC8qKlxuICAgKiBMYWJlbCBtZW51XG4gICAqXG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG1lbnVMYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSBsYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBsYWJlbCBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZm9yIGRlc2NyaXB0aW9uLlxuICAgKiBAdHlwZSB7dGV4dH1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGVzY3JpYmVkYnkgPSAnJztcblxuICAvKipcbiAgICogQ3VzdG9tIHRlbXBsYXRlIGZvciB0aGUgYnV0dG9uIChvcHRpb25hbClcbiAgICpcbiAgICogQHR5cGUge1RlbXBsYXRlUmVmPGFueT59XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogQnV0dG9uIHZhcmlhbnQgZm9yIHRoZSBvdmVyZmxvdyBtZW51IHRyaWdnZXJcbiAgICogV2hlbiBudWxsLCB1c2VzIHRoZSBkZWZhdWx0IGljb24gcmVuZGVyaW5nXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25Db2xvciB8IG51bGx9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGJ1dHRvblZhcmlhbnQ6IEJ1dHRvbkNvbG9yIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiBzaXplIGZvciB0aGUgb3ZlcmZsb3cgbWVudSB0cmlnZ2VyXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25TaXplfVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25TaXplOiBCdXR0b25TaXplID0gJ21lZGl1bSc7XG5cbiAgQElucHV0KCkgbWVudUNvbmZpZzogTWVudUNvbmZpZyA9IERFRkFVTFRfTUVOVV9DT05GSUc7XG5cbiAgQE91dHB1dCgpIHNlbGVjdEl0ZW06IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpIG1lbnVPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpIG1lbnVDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZHJlbihNYXRNZW51KSBtYXRtZW51czogUXVlcnlMaXN0PE1hdE1lbnU+XG4gIEBWaWV3Q2hpbGRyZW4oTWF0TWVudVRyaWdnZXIpIG1hdFRyaWdnZXI6IFF1ZXJ5TGlzdDxNYXRNZW51VHJpZ2dlcj5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uRWxlbWVudCcpIGJ1dHRvbkVsZW1lbnQ6IGFueTtcblxuICBtZW51SXRlbXM6IHN0cmluZ1tdID0gW11cbiAgc3VibWVudXM6IEFycmF5PE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeVtdPiA9IFtdXG5cbiAgaXNNZW51UmVuZGVyZWQgPSBzaWduYWwoZmFsc2UpO1xuICBpc01lbnVPcGVuZWQgPSBzaWduYWwoZmFsc2UpO1xuICBpc0ZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGdldCBtZW51SXRlbUhhc0hvdmVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3VibWVudXMuc29tZShtZW51ID0+IG1lbnUuc29tZShpdGVtID0+IGl0ZW0uaXNIb3ZlcmVkKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVTdWJtZW51cyh0aGlzLmJ1dHRvbnMsIFwiczBcIiwgMSlcbiAgICB0aGlzLnJlaW5kZXgoKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNNZW51UmVuZGVyZWQuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuYnV0dG9uRWxlbWVudCkuc3Vic2NyaWJlKG9yaWdpbiA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghdGhpcy5pc01lbnVPcGVuZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGV2ZW50OiBFdmVudCwgdmFsdWU6IHN0cmluZykge1xuICAgIGlmICghIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25NZW51T3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMubWVudU9wZW5lZC5lbWl0KCk7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KHRydWUpO1xuXG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmZpcnN0Ll9hbGxJdGVtcy5maXJzdC5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH0sIDMwMClcbiAgICB9XG4gIH1cblxuICBvbk1lbnVDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLm1lbnVDbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgb25CdXR0b25Gb2N1cyhidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSkge1xuICAgIGlmICh0aGlzLmlzRm9jdXNlZCgpKSB7XG4gICAgICBidXR0b24uaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkJ1dHRvbkJsdXIoYnV0dG9uOiBPdmVyZmxvd01lbnVCdXR0b25Nb2RpZnkpIHtcbiAgICBidXR0b24uaXNGb2N1c2VkID0gZmFsc2U7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKGJ1dHRvbjogT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5LCAkZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKGJ1dHRvbi5kaXNhYmxlZCkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25TZWxlY3RJdGVtKCRldmVudCwgYnV0dG9uLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvblN1Ym1lbnVPcGVuZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KCF0aGlzLmlzTWVudU9wZW5lZCk7XG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmxhc3QuX2FsbEl0ZW1zLmZpcnN0LmZvY3VzKCdrZXlib2FyZCcpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cblxuICBvbkJ1dHRvbkhvdmVyKGJ1dHRvbjogT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5LCBzdGF0ZTogYm9vbGVhbikge1xuICAgIGJ1dHRvbi5pc0hvdmVyZWQgPSBzdGF0ZTtcbiAgfVxuXG4gIGdldE1lbnUoaW5kZXg6IGFueSkge1xuICAgIHJldHVybiBpbmRleCA+PSAwICYmIHRoaXMubWF0bWVudXMgPyB0aGlzLm1hdG1lbnVzLmZpbmQoKHgsIGkpID0+IGkgPT0gaW5kZXgpISA6IG51bGxcbiAgfVxuXG4gIHByaXZhdGUgcmVpbmRleCgpIHtcbiAgICB0aGlzLnN1Ym1lbnVzLmZvckVhY2goKG1lbnU6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10pID0+IHtcbiAgICAgIG1lbnUuZm9yRWFjaCgoaXRlbTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uc3ViTWVudSAhPT0gLTEpXG4gICAgICAgICAgaXRlbS5zdWJNZW51ID0gdGhpcy5tZW51SXRlbXMuaW5kZXhPZihpdGVtLmFjdGlvbiArICcnKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdWJtZW51cyhtZW51OiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZVtdLCBwcmVmaXg6IHN0cmluZywgY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1zLnB1c2gocHJlZml4KTtcbiAgICB0aGlzLnN1Ym1lbnVzLnB1c2goXG4gICAgICBtZW51Lm1hcCgoaXRlbTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgIGljb246IGl0ZW0uaWNvbixcbiAgICAgICAgICAgIGlzRGVzdHJ1Y3RpdmU6IGl0ZW0uaXNEZXN0cnVjdGl2ZSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IGl0ZW0uZGlzYWJsZWQsXG4gICAgICAgICAgICBidG5UZW1wbGF0ZTogaXRlbS5idG5UZW1wbGF0ZSxcbiAgICAgICAgICAgIHN1Yk1lbnU6IGl0ZW0uc3ViTWVudSA/IDAgOiAtMSxcbiAgICAgICAgICAgIGFjdGlvbjogaXRlbS5hY3Rpb24gPyBpdGVtLmFjdGlvbiA6IHByZWZpeCtpbmRleFxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbWVudS5mb3JFYWNoKChpdGVtOiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGl0ZW0uc3ViTWVudSkge1xuICAgICAgICB0aGlzLmNyZWF0ZVN1Ym1lbnVzKChpdGVtIGFzIHsgc3ViTWVudTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXSB9KS5zdWJNZW51LCBwcmVmaXggKyBpbmRleCwgY291bnQgKyAxKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctbWVudS1jb250YWluZXJcIiBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+XG4gIDxidXR0b25cbiAgICAjYnV0dG9uRWxlbWVudFxuICAgIG1hdC1idXR0b25cbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnaWNvbi1idXR0b24nOiAhY29udGVudFRlbXBsYXRlUmVmICYmICFidXR0b25WYXJpYW50LFxuICAgICAgJ2NvbnRlbnQtdGVtcGxhdGUnOiBjb250ZW50VGVtcGxhdGVSZWYsXG4gICAgICAnbm8taG92ZXInOiBidXR0b25WYXJpYW50LFxuICAgIH1cIlxuICAgICpuZ0lmPVwiaXNNZW51UmVuZGVyZWQoKVwiXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1hdG1lbnVzLmZpcnN0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzTWVudU9wZW5lZCgpXCJcbiAgICBkaXNhYmxlUmlwcGxlXG4gICAgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbmVkKClcIlxuICAgIChtZW51Q2xvc2VkKT1cIm9uTWVudUNsb3NlZCgpXCJcbiAgICBjbGFzcz1cIm92ZXJmbG93LW1lbnUtb3BlbmVyXCJcbiAgICBbbWF0VG9vbHRpcF09XCJtZW51TGFiZWxcIlxuICA+XG4gICAgPHNwYW4gW2lkXT1cIidkZXNjcmliZWRieSdcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj57eyBkZXNjcmliZWRieSB9fTwvc3Bhbj5cbiAgICBAaWYgKGJ1dHRvblZhcmlhbnQpIHtcbiAgICAgIDx1aS1idXR0b25cbiAgICAgICAgW3ZhcmlhbnRdPVwiYnV0dG9uVmFyaWFudFwiXG4gICAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgW2ljb25OYW1lXT1cImljb25UcmlnZ2VyXCJcbiAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgIFtzaXplXT1cImJ1dHRvblNpemVcIlxuICAgICAgPlxuICAgICAgPC91aS1idXR0b24+XG4gICAgfSBAZWxzZSBpZiAoY29udGVudFRlbXBsYXRlUmVmKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHVpLWljb25cbiAgICAgICAgW25hbWVdPVwiaWNvblRyaWdnZXJcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgW3NpemVdPVwiJzI0J1wiXG4gICAgICAgIFtjb2xvcl09XCIncmVicmFuZC1ibGFjaydcIlxuICAgICAgPjwvdWktaWNvbj5cbiAgICB9XG4gIDwvYnV0dG9uPlxuXG4gIEBmb3IgKG1lbnUgb2Ygc3VibWVudXM7IHRyYWNrIG1lbnUpIHtcbiAgICA8bWF0LW1lbnVcbiAgICAgIFt4UG9zaXRpb25dPVwibWVudUNvbmZpZy54UG9zaXRpb25cIlxuICAgICAgW3lQb3NpdGlvbl09XCJtZW51Q29uZmlnLnlQb3NpdGlvblwiXG4gICAgICAjbWF0TWVudVxuICAgICAgW2NsYXNzXT1cIidvdmVyZmxvdy1tZW51ICcgKyBtZW51Q29uZmlnLnBhbmVsQ2xhc3NcIlxuICAgICAgW292ZXJsYXBUcmlnZ2VyXT1cIm1lbnVDb25maWcub3ZlcmxhcFRyaWdnZXJcIlxuICAgICAgYmFja2Ryb3BDbGFzcz1cIm92ZXJmbG93LW1lbnUtYmFja2Ryb3BcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBtZW51OyBpbmRleCBhcyBpZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJidXR0b24uYnRuVGVtcGxhdGU7IGVsc2UgdWlCdXR0b25cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbi5idG5UZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBidXR0b24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3VpQnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJnZXRNZW51KGJ1dHRvbi5zdWJNZW51KVwiXG4gICAgICAgICAgICAobWVudU9wZW5lZCk9XCJvblN1Ym1lbnVPcGVuZWQoKVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25CdXR0b25Gb2N1cyhidXR0b24pXCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uQnV0dG9uQmx1cihidXR0b24pXCJcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uQnV0dG9uSG92ZXIoYnV0dG9uLCB0cnVlKVwiXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbkJ1dHRvbkhvdmVyKGJ1dHRvbiwgZmFsc2UpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWRlc3RydWN0aXZlJzogYnV0dG9uLmlzRGVzdHJ1Y3RpdmUsIGRpc2FibGVkOiBidXR0b24uZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICBkaXNhYmxlUmlwcGxlXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLmlzVGV4dEVsbGlwc2VkID8gYnV0dG9uLmxhYmVsIDogJydcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieS0nICsgYnV0dG9uLmxhYmVsICsgaWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24uYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBbaWRdPVwiJ2Rlc2NyaWJlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgIGJ1dHRvbi5kaXNhYmxlZFxuICAgICAgICAgICAgICAgICAgPyAoJ01FTlUuTUVOVUlURU1fRElTQUJMRUQnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykgKyAnICcgKyAoYnV0dG9uLmRlc2NyaWJlZGJ5IHx8ICcnKVxuICAgICAgICAgICAgICAgICAgOiBidXR0b24uZGVzY3JpYmVkYnlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgICAgW25hbWVdPVwiYnV0dG9uLmljb25cIlxuICAgICAgICAgICAgICBbdG9nZ2xlSWNvblN0eWxlXT1cInRydWVcIlxuICAgICAgICAgICAgICBbZmlsbGVkXT1cIlxuICAgICAgICAgICAgICAgIGJ1dHRvbi5kaXNhYmxlZCA/IGZhbHNlIDogYnV0dG9uLmlzSG92ZXJlZCA/IHRydWUgOiBtZW51SXRlbUhhc0hvdmVyZWQgPyBmYWxzZSA6ICEhYnV0dG9uLmlzRm9jdXNlZFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJzI0J1wiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJidXR0b24uaXNEZXN0cnVjdGl2ZSA/ICdyZWQnIDogYnV0dG9uLmRpc2FibGVkID8gJ2RhcmsnIDogJ3JlYnJhbmQtYmxhY2snXCJcbiAgICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbaWRdPVwiJ2xhYmVsbGVkYnktJyArIGJ1dHRvbi5sYWJlbCArIGlkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICAgICAgW3JlZnJlc2hdPVwiaXNNZW51T3BlbmVkKClcIlxuICAgICAgICAgICAgICBbbWF4RGlmZlBpeGVsc109XCIxXCJcbiAgICAgICAgICAgICAgW2lzTXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAob25DaGFuZ2VUZXh0U3RhdGUpPVwiYnV0dG9uLmlzVGV4dEVsbGlwc2VkID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttZW51LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbWF0LW1lbnU+XG4gIH1cbjwvZGl2PlxuIl19
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvb3ZlcmZsb3ctbWVudS9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FHbEIsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFHakUsTUFBTSxtQkFBbUIsR0FBZTtJQUN0QyxjQUFjLEVBQUUsS0FBSztJQUNyQixVQUFVLEVBQUUsRUFBRTtJQUNkLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0NBQ25CLENBQUM7QUFTRixNQUFNLE9BQU8scUJBQXFCO0lBc0doQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxZQUM2RSxlQUFpQyxFQUNwRyxZQUEwQixFQUMxQixNQUFjO1FBRnFELG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNwRyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixXQUFN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a0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQTZHNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7eUZBcEdqRCxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBU0csYUFBYTtzQkFBckIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsWUFBWTt1QkFBQyxPQUFPO2dCQUNTLFVBQVU7c0JBQXZDLFlBQVk7dUJBQUMsY0FBYztnQkFDQSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIHNpZ25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25DaGFuZ2VzLFxuICBBZnRlclZpZXdJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IE1lbnVDb25maWcsIE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSwgT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUgfSBmcm9tICcuL292ZXJmbG93LW1lbnUubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uQ29sb3IsIEJ1dHRvblNpemUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxuY29uc3QgREVGQVVMVF9NRU5VX0NPTkZJRzogTWVudUNvbmZpZyA9IHtcbiAgb3ZlcmxhcFRyaWdnZXI6IGZhbHNlLFxuICBwYW5lbENsYXNzOiAnJyxcbiAgeFBvc2l0aW9uOiAnYWZ0ZXInLFxuICB5UG9zaXRpb246ICdiZWxvdycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1vdmVyZmxvdy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJmbG93LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd01lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBNZW51IGJ1dHRvbnNcbiAgICpcbiAgICogQHR5cGUge092ZXJmbG93TWVudUJ1dHRvbnNUeXBlW119XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGJ1dHRvbnM6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW107XG5cbiAgLyoqXG4gICAqIE1lbnUgaWNvbiB0cmlnZ2VyXG4gICAqXG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25UcmlnZ2VyOiBJY29uTmFtZSA9ICdNZW51LWVsbGlwc2lzJztcblxuICAvKipcbiAgICogTGFiZWwgbWVudVxuICAgKlxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtZW51TGFiZWwgPSAnJztcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgbGFiZWwgaXMgdXNlZCB0byBwcm92aWRlIGFuIGFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYVJlcXVpcmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZvciBkZXNjcmlwdGlvbi5cbiAgICogQHR5cGUge3RleHR9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRlc2NyaWJlZGJ5ID0gJyc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSBmb3IgdGhlIGJ1dHRvbiAob3B0aW9uYWwpXG4gICAqXG4gICAqIEB0eXBlIHtUZW1wbGF0ZVJlZjxhbnk+fVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb250ZW50VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB2YXJpYW50IGZvciB0aGUgb3ZlcmZsb3cgbWVudSB0cmlnZ2VyXG4gICAqIFdoZW4gbnVsbCwgdXNlcyB0aGUgZGVmYXVsdCBpY29uIHJlbmRlcmluZ1xuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uQ29sb3IgfCBudWxsfVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25WYXJpYW50OiBCdXR0b25Db2xvciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBCdXR0b24gc2l6ZSBmb3IgdGhlIG92ZXJmbG93IG1lbnUgdHJpZ2dlclxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uU2l6ZX1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYnV0dG9uU2l6ZTogQnV0dG9uU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpIG1lbnVDb25maWc6IE1lbnVDb25maWcgPSBERUZBVUxUX01FTlVfQ09ORklHO1xuXG4gIEBJbnB1dCgpIGlzRHluYW1pY01lbnUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgbWVudU9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgbWVudUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkcmVuKE1hdE1lbnUpIG1hdG1lbnVzOiBRdWVyeUxpc3Q8TWF0TWVudT47XG4gIEBWaWV3Q2hpbGRyZW4oTWF0TWVudVRyaWdnZXIpIG1hdFRyaWdnZXI6IFF1ZXJ5TGlzdDxNYXRNZW51VHJpZ2dlcj47XG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkVsZW1lbnQnKSBidXR0b25FbGVtZW50OiBhbnk7XG5cbiAgbWVudUl0ZW1zOiBzdHJpbmdbXSA9IFtdO1xuICBzdWJtZW51czogQXJyYXk8T3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5W10+ID0gW107XG5cbiAgaXNNZW51UmVuZGVyZWQgPSBzaWduYWwoZmFsc2UpO1xuICBpc01lbnVPcGVuZWQgPSBzaWduYWwoZmFsc2UpO1xuICBpc0ZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGdldCBtZW51SXRlbUhhc0hvdmVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3VibWVudXMuc29tZShtZW51ID0+IG1lbnUuc29tZShpdGVtID0+IGl0ZW0uaXNIb3ZlcmVkKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZVN1Ym1lbnVzKHRoaXMuYnV0dG9ucywgJ3MwJywgMSk7XG4gICAgdGhpcy5yZWluZGV4KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2J1dHRvbnMnXSAmJiB0aGlzLmlzRHluYW1pY01lbnUpIHtcbiAgICAgIHRoaXMucmVzZXRTdWJtZW51cygpO1xuICAgICAgdGhpcy5jcmVhdGVTdWJtZW51cyh0aGlzLmJ1dHRvbnMsICdzMCcsIDEpO1xuICAgICAgdGhpcy5yZWluZGV4KCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNNZW51UmVuZGVyZWQuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuYnV0dG9uRWxlbWVudCkuc3Vic2NyaWJlKG9yaWdpbiA9PlxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChvcmlnaW4gPT09ICdrZXlib2FyZCcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c2VkLnNldCh0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTWVudU9wZW5lZCgpKSB7XG4gICAgICAgICAgICAgIHRoaXMuaXNGb2N1c2VkLnNldChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGV2ZW50OiBFdmVudCwgdmFsdWU6IHN0cmluZykge1xuICAgIGlmICghIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25NZW51T3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMubWVudU9wZW5lZC5lbWl0KCk7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KHRydWUpO1xuXG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmZpcnN0Ll9hbGxJdGVtcy5maXJzdC5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH0sIDMwMCk7XG4gICAgfVxuICB9XG5cbiAgb25NZW51Q2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNZW51T3BlbmVkLnNldChmYWxzZSk7XG4gICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uQnV0dG9uRm9jdXMoYnV0dG9uOiBPdmVyZmxvd01lbnVCdXR0b25Nb2RpZnkpIHtcbiAgICBpZiAodGhpcy5pc0ZvY3VzZWQoKSkge1xuICAgICAgYnV0dG9uLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25CdXR0b25CbHVyKGJ1dHRvbjogT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5KSB7XG4gICAgYnV0dG9uLmlzRm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgb25CdXR0b25DbGljayhidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSwgJGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChidXR0b24uZGlzYWJsZWQpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uU2VsZWN0SXRlbSgkZXZlbnQsIGJ1dHRvbi52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25TdWJtZW51T3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNZW51T3BlbmVkLnNldCghdGhpcy5pc01lbnVPcGVuZWQpO1xuICAgIGlmICh0aGlzLmlzRm9jdXNlZCgpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXRtZW51cy5sYXN0Ll9hbGxJdGVtcy5maXJzdC5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH0sIDMwMCk7XG4gICAgfVxuICB9XG5cbiAgb25CdXR0b25Ib3ZlcihidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSwgc3RhdGU6IGJvb2xlYW4pIHtcbiAgICBidXR0b24uaXNIb3ZlcmVkID0gc3RhdGU7XG4gIH1cblxuICBnZXRNZW51KGluZGV4OiBhbnkpIHtcbiAgICByZXR1cm4gaW5kZXggPj0gMCAmJiB0aGlzLm1hdG1lbnVzID8gKHRoaXMubWF0bWVudXMuZmluZCgoeCwgaSkgPT4gaSA9PT0gaW5kZXgpID8/IG51bGwpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVpbmRleCgpIHtcbiAgICB0aGlzLnN1Ym1lbnVzLmZvckVhY2goKG1lbnU6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10pID0+IHtcbiAgICAgIG1lbnUuZm9yRWFjaCgoaXRlbTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uc3ViTWVudSAhPT0gLTEpIHtcbiAgICAgICAgICBpdGVtLnN1Yk1lbnUgPSB0aGlzLm1lbnVJdGVtcy5pbmRleE9mKGAke2l0ZW0uYWN0aW9ufWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRTdWJtZW51cygpIHtcbiAgICB0aGlzLnN1Ym1lbnVzID0gW107XG4gICAgdGhpcy5tZW51SXRlbXMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3VibWVudXMobWVudTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXSwgcHJlZml4OiBzdHJpbmcsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVJdGVtcy5wdXNoKHByZWZpeCk7XG4gICAgdGhpcy5zdWJtZW51cy5wdXNoKFxuICAgICAgbWVudS5tYXAoKGl0ZW06IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlLCBpbmRleDogbnVtYmVyKSA9PiAoe1xuICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCxcbiAgICAgICAgaWNvbjogaXRlbS5pY29uLFxuICAgICAgICBpc0Rlc3RydWN0aXZlOiBpdGVtLmlzRGVzdHJ1Y3RpdmUsXG4gICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgZGlzYWJsZWQ6IGl0ZW0uZGlzYWJsZWQsXG4gICAgICAgIGJ0blRlbXBsYXRlOiBpdGVtLmJ0blRlbXBsYXRlLFxuICAgICAgICBzdWJNZW51OiBpdGVtLnN1Yk1lbnUgPyAwIDogLTEsXG4gICAgICAgIGFjdGlvbjogaXRlbS5hY3Rpb24gPyBpdGVtLmFjdGlvbiA6IHByZWZpeCArIGluZGV4LFxuICAgICAgfSkpXG4gICAgKTtcblxuICAgIG1lbnUuZm9yRWFjaCgoaXRlbTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChpdGVtLnN1Yk1lbnUpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTdWJtZW51cygoaXRlbSBhcyB7IHN1Yk1lbnU6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10gfSkuc3ViTWVudSwgcHJlZml4ICsgaW5kZXgsIGNvdW50ICsgMSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1tZW51LWNvbnRhaW5lclwiIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj5cbiAgPGJ1dHRvblxuICAgICNidXR0b25FbGVtZW50XG4gICAgbWF0LWJ1dHRvblxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdpY29uLWJ1dHRvbic6ICFjb250ZW50VGVtcGxhdGVSZWYgJiYgIWJ1dHRvblZhcmlhbnQsXG4gICAgICAnY29udGVudC10ZW1wbGF0ZSc6IGNvbnRlbnRUZW1wbGF0ZVJlZixcbiAgICAgICduby1ob3Zlcic6IGJ1dHRvblZhcmlhbnQsXG4gICAgfVwiXG4gICAgKm5nSWY9XCJpc01lbnVSZW5kZXJlZCgpXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWF0bWVudXMuZmlyc3RcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInZGVzY3JpYmVkYnknXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cInRydWVcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNNZW51T3BlbmVkKClcIlxuICAgIGRpc2FibGVSaXBwbGVcbiAgICAobWVudU9wZW5lZCk9XCJvbk1lbnVPcGVuZWQoKVwiXG4gICAgKG1lbnVDbG9zZWQpPVwib25NZW51Q2xvc2VkKClcIlxuICAgIGNsYXNzPVwib3ZlcmZsb3ctbWVudS1vcGVuZXJcIlxuICAgIFttYXRUb29sdGlwXT1cIm1lbnVMYWJlbFwiXG4gID5cbiAgICA8c3BhbiBbaWRdPVwiJ2Rlc2NyaWJlZGJ5J1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPnt7IGRlc2NyaWJlZGJ5IH19PC9zcGFuPlxuICAgIEBpZiAoYnV0dG9uVmFyaWFudCkge1xuICAgICAgPHVpLWJ1dHRvblxuICAgICAgICBbdmFyaWFudF09XCJidXR0b25WYXJpYW50XCJcbiAgICAgICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgICAgICBbaWNvbk5hbWVdPVwiaWNvblRyaWdnZXJcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgW3NpemVdPVwiYnV0dG9uU2l6ZVwiXG4gICAgICA+XG4gICAgICA8L3VpLWJ1dHRvbj5cbiAgICB9IEBlbHNlIGlmIChjb250ZW50VGVtcGxhdGVSZWYpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8dWktaWNvblxuICAgICAgICBbbmFtZV09XCJpY29uVHJpZ2dlclwiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICBbc2l6ZV09XCInMjQnXCJcbiAgICAgICAgW2NvbG9yXT1cIidyZWJyYW5kLWJsYWNrJ1wiXG4gICAgICA+PC91aS1pY29uPlxuICAgIH1cbiAgPC9idXR0b24+XG5cbiAgQGZvciAobWVudSBvZiBzdWJtZW51czsgdHJhY2sgbWVudSkge1xuICAgIDxtYXQtbWVudVxuICAgICAgW3hQb3NpdGlvbl09XCJtZW51Q29uZmlnLnhQb3NpdGlvblwiXG4gICAgICBbeVBvc2l0aW9uXT1cIm1lbnVDb25maWcueVBvc2l0aW9uXCJcbiAgICAgICNtYXRNZW51XG4gICAgICBbY2xhc3NdPVwiJ292ZXJmbG93LW1lbnUgJyArIG1lbnVDb25maWcucGFuZWxDbGFzc1wiXG4gICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwibWVudUNvbmZpZy5vdmVybGFwVHJpZ2dlclwiXG4gICAgICBiYWNrZHJvcENsYXNzPVwib3ZlcmZsb3ctbWVudS1iYWNrZHJvcFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIG1lbnU7IGluZGV4IGFzIGlkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cImJ1dHRvbi5idG5UZW1wbGF0ZTsgZWxzZSB1aUJ1dHRvblwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uLmJ0blRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGJ1dHRvbiB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdWlCdXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImdldE1lbnUoYnV0dG9uLnN1Yk1lbnUpXCJcbiAgICAgICAgICAgIChtZW51T3BlbmVkKT1cIm9uU3VibWVudU9wZW5lZCgpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkJ1dHRvbkZvY3VzKGJ1dHRvbilcIlxuICAgICAgICAgICAgKGJsdXIpPVwib25CdXR0b25CbHVyKGJ1dHRvbilcIlxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25CdXR0b25Ib3ZlcihidXR0b24sIHRydWUpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uQnV0dG9uSG92ZXIoYnV0dG9uLCBmYWxzZSlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtZGVzdHJ1Y3RpdmUnOiBidXR0b24uaXNEZXN0cnVjdGl2ZSwgZGlzYWJsZWQ6IGJ1dHRvbi5kaXNhYmxlZCB9XCJcbiAgICAgICAgICAgIGRpc2FibGVSaXBwbGVcbiAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ1dHRvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJidXR0b24udG9vbHRpcFRleHQgPyBidXR0b24udG9vbHRpcFRleHQgOiAoYnV0dG9uLmlzVGV4dEVsbGlwc2VkID8gYnV0dG9uLmxhYmVsIDogJycpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInbGFiZWxsZWRieS0nICsgYnV0dG9uLmxhYmVsICsgaWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInZGVzY3JpYmVkYnktJyArIGJ1dHRvbi5sYWJlbCArIGlkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gW2lkXT1cIidkZXNjcmliZWRieS0nICsgYnV0dG9uLmxhYmVsICsgaWRcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBidXR0b24uZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgID8gKCdNRU5VLk1FTlVJVEVNX0RJU0FCTEVEJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpICsgJyAnICsgKGJ1dHRvbi5kZXNjcmliZWRieSB8fCAnJylcbiAgICAgICAgICAgICAgICAgIDogYnV0dG9uLmRlc2NyaWJlZGJ5XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgICAgIFtuYW1lXT1cImJ1dHRvbi5pY29uXCJcbiAgICAgICAgICAgICAgW3RvZ2dsZUljb25TdHlsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2ZpbGxlZF09XCJcbiAgICAgICAgICAgICAgICBidXR0b24uZGlzYWJsZWQgPyBmYWxzZSA6IGJ1dHRvbi5pc0hvdmVyZWQgPyB0cnVlIDogbWVudUl0ZW1IYXNIb3ZlcmVkID8gZmFsc2UgOiAhIWJ1dHRvbi5pc0ZvY3VzZWRcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICAgIFtzaXplXT1cIicyNCdcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwiYnV0dG9uLmlzRGVzdHJ1Y3RpdmUgPyAncmVkJyA6IGJ1dHRvbi5kaXNhYmxlZCA/ICdkYXJrJyA6ICdyZWJyYW5kLWJsYWNrJ1wiXG4gICAgICAgICAgICA+PC91aS1pY29uPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgW2lkXT1cIidsYWJlbGxlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgICAgICB1aUVsbGlwc2VUZXh0XG4gICAgICAgICAgICAgIFtyZWZyZXNoXT1cImlzTWVudU9wZW5lZCgpXCJcbiAgICAgICAgICAgICAgW21heERpZmZQaXhlbHNdPVwiMVwiXG4gICAgICAgICAgICAgIFtpc011bHRpbGluZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlVGV4dFN0YXRlKT1cImJ1dHRvbi5pc1RleHRFbGxpcHNlZCA9ICRldmVudFwiXG4gICAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWVudS1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L21hdC1tZW51PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51UG9zaXRpb25YLCBNZW51UG9zaXRpb25ZIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmV4cG9ydCB0eXBlIE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlID0ge1xuICBpY29uOiBJY29uTmFtZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgaXNEZXN0cnVjdGl2ZT86IGJvb2xlYW47XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgYnRuVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBzdWJNZW51PzogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXSB8IG51bWJlcjtcbiAgYWN0aW9uPzogbnVtYmVyIHwgc3RyaW5nO1xuICBkZXNjcmliZWRieT86IHN0cmluZztcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICB0b29sdGlwVGV4dD86IHN0cmluZztcbn07XG5cbnR5cGUgQnV0dG9uT3B0aW9ucyA9IHtcbiAgaXNUZXh0RWxsaXBzZWQ/OiBib29sZWFuO1xuICBpc0ZvY3VzZWQ/OiBib29sZWFuO1xuICBpc0hvdmVyZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBNZW51Q29uZmlnID0ge1xuICB4UG9zaXRpb246IE1lbnVQb3NpdGlvblg7XG4gIHlQb3NpdGlvbjogTWVudVBvc2l0aW9uWTtcbiAgb3ZlcmxhcFRyaWdnZXI6IGJvb2xlYW47XG4gIHBhbmVsQ2xhc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5ID0gT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGUgJiBCdXR0b25PcHRpb25zO1xuIl19
|
|
@@ -85,7 +85,7 @@ export class PasswordComponent {
|
|
|
85
85
|
useExisting: forwardRef(() => PasswordComponent),
|
|
86
86
|
multi: true,
|
|
87
87
|
},
|
|
88
|
-
], viewQueries: [{ propertyName: "requiredCriteria", first: true, predicate: ["requiredCriteria"], descendants: true }], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [ariaLabel]=\"requiredCriteria?.nativeElement?.innerText ?? ''\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate | async) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\" #requiredCriteria>\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <span *ngIf=\"allRequirementsMet\" style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">{{ 'FIELD.ALL_PASSWORD_REQ_PASSED' | uiTranslate | async }}</span>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [attr.aria-live]=\"!allRequirementsMet ? 'polite' : ''\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ (criteriaPassed[criterion.key] ? ('COMMON.PASSED') : ('COMMON.FAILED')) | uiTranslate | async }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
88
|
+
], viewQueries: [{ propertyName: "requiredCriteria", first: true, predicate: ["requiredCriteria"], descendants: true }], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [ariaLabel]=\"requiredCriteria?.nativeElement?.innerText ?? ''\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate | async) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\" #requiredCriteria>\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <span *ngIf=\"allRequirementsMet\" style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">{{ 'FIELD.ALL_PASSWORD_REQ_PASSED' | uiTranslate | async }}</span>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [attr.aria-live]=\"!allRequirementsMet ? 'polite' : ''\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ (criteriaPassed[criterion.key] ? ('COMMON.PASSED') : ('COMMON.FAILED')) | uiTranslate | async }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
89
89
|
}
|
|
90
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordComponent, decorators: [{
|
|
91
91
|
type: Component,
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -41,6 +41,10 @@ export * from './components/elevation-shadow/elevation-shadow.constant';
|
|
|
41
41
|
export * from './components/field/field.component';
|
|
42
42
|
export * from './components/field/field.component.module';
|
|
43
43
|
export * from './components/field/field.model';
|
|
44
|
+
// Inline Field
|
|
45
|
+
export * from './components/inline-field/inline-field.component';
|
|
46
|
+
export * from './components/inline-field/inline-field.component.module';
|
|
47
|
+
export * from './components/inline-field/inline-field.model';
|
|
44
48
|
// File upload
|
|
45
49
|
export * from './components/file-upload/file-upload.component';
|
|
46
50
|
export * from './components/file-upload/file-upload.component.module';
|
|
@@ -183,6 +187,7 @@ export * from './utils/localization/language.model';
|
|
|
183
187
|
export * from './utils/localization/language.service';
|
|
184
188
|
//Overflow Menu
|
|
185
189
|
export * from './components/overflow-menu/overflow-menu.component';
|
|
190
|
+
export * from './components/overflow-menu/overflow-menu.model';
|
|
186
191
|
export * from './components/overflow-menu/overflow-menu.component.module';
|
|
187
192
|
//Application Theme
|
|
188
193
|
export * from './models/application-theme.model';
|
|
@@ -240,4 +245,4 @@ export * from './pipes/memoize-func.pipe';
|
|
|
240
245
|
export * from './components/filter-button/filter-button.component';
|
|
241
246
|
export * from './components/filter-button/filter-button.component.module';
|
|
242
247
|
export * from './components/filter-button/filter-button.model';
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFFcEIsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxlQUFlO0FBQ2YsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGFBQWE7QUFDYixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxTQUFTO0FBQ1QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsT0FBTztBQUNQLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGtCQUFrQjtBQUNsQixjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsV0FBVztBQUNYLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxTQUFTO0FBQ1QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjO0FBQ2QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLG1CQUFtQjtBQUNuQixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxRQUFR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LFlBQVk7QUFDWixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsYUFBYTtBQUNiLGNBQWMsOENBQThDLENBQUM7QUFDN0QsaUJBQWlCO0FBQ2pCLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxpQ0FBaUM7QUFDakMsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsVUFBVTtBQUNWLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsZ0JBQWdCO0FBQ2hCLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cblxuLyogQ29tcG9uZW50cyAqL1xuLy8gVW5pdmVyc2FsIHNraWxscyByZXBvcnRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91bml2ZXJzYWwtc2tpbGxzLXJlcG9ydC91bml2ZXJzYWwtc2tpbGxzLXJlcG9ydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3VuaXZlcnNhbC1za2lsbHMtcmVwb3J0L3VuaXZlcnNhbC1za2lsbHMtcmVwb3J0LmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdW5pdmVyc2FsLXNraWxscy1yZXBvcnQubW9kZWwnO1xuLy8gQWxlcnQgQmFubmVyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50Lm1vZHVsZSc7XG4vL0FJIEZlZWRiYWNrXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWktZmVlZGJhY2svYWktZmVlZGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9haS1mZWVkYmFjay9haS1mZWVkYmFjay5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWktZmVlZGJhY2svYWktZmVlZGJhY2subW9kdWxlJztcbi8vIEJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kZWwnO1xuLy8gQ2FyZFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQubW9kZWwnO1xuLy8gU2VsZWN0YWJsZSBDYXJkXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0YWJsZS1jYXJkL3NlbGVjdGFibGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdGFibGUtY2FyZC9zZWxlY3RhYmxlLWNhcmQuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBDaGVja2JveFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBEaWFsb2dcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuLy8gRG9udXQgQ2hhcnRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kb251dC1jaGFydC9kb251dC1jaGFydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvbnV0LWNoYXJ0L2RvbnV0LWNoYXJ0LmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gRWxldmF0aW9uIHNoYWRvd1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VsZXZhdGlvbi1zaGFkb3cvZWxldmF0aW9uLXNoYWRvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VsZXZhdGlvbi1zaGFkb3cvZWxldmF0aW9uLXNoYWRvdy5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lbGV2YXRpb24tc2hhZG93L2VsZXZhdGlvbi1zaGFkb3cuY29uc3RhbnQnO1xuLy8gRmllbGRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWVsZC9maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLm1vZGVsJztcbi8vIEZpbGUgdXBsb2FkXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQubW9kdWxlJztcbi8vIEljb25cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaWNvbi9pY29uLm1vZGVsJztcbi8vIEljb24gKyBsYWJlbFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24tbGFiZWwvaWNvbi1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24tbGFiZWwvaWNvbi1sYWJlbC5jb21wb25lbnQubW9kdWxlJztcbi8vIExvZ29cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2dvL2xvZ28uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2dvL2xvZ28uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbG9nby9sb2dvLm1vZGVsJztcbi8vIE5hdmJhclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIubW9kZWwnO1xuLy8gRGVwcmVjYXRlZCBQYWdpbmF0b3JcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kZXByZWNhdGVkLXBhZ2luYXRvci9kZXByZWNhdGVkLXBhZ2luYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlcHJlY2F0ZWQtcGFnaW5hdG9yL2RlcHJlY2F0ZWQtcGFnaW5hdG9yLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gUHJvZ3Jlc3MgYmFyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBSYWRpbyBidXR0b25cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbi8vIFNuYWNrYmFyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZSc7XG4vLyBEYXRhIFByb3BlcnR5IEdldHRlciBQaXBlXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2RhdGEtcHJvcGVydHktZ2V0dGVyJztcbi8vIFRhZ1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhZy90YWcubW9kZWwnO1xuLy8gVG9vbHRpcFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAubW9kZWwnO1xuLy8gRHJvcGRvd25cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZGVsJztcbi8vIFNwaW5uZXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUnO1xuLy8gQ29uZmlybSBEaWFsb2dcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLm1vZGVsJztcbi8vIERhdGVwaWNrZXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBSYXRpbmdcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYXRpbmcvcmF0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQubW9kdWxlJztcbi8vIFNjYWxlXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2NhbGUvc2NhbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY2FsZS9zY2FsZS5jb21wb25lbnQubW9kdWxlJztcbi8vIFNjYWxlIFRhYmxlXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2NhbGUtdGFibGUvc2NhbGUtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY2FsZS10YWJsZS9zY2FsZS10YWJsZS5tb2RlbCc7XG4vLyBUYWdcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQubW9kdWxlJztcbi8vIFRvZ2dsZVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gQXZhdGFyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5tb2RlbCc7XG4vLyBTdGVwcGVyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gU3RlcFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3N0ZXAvc3RlcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3N0ZXAvc3RlcC5jb21wb25lbnQubW9kdWxlJztcbi8vIElucHV0IEF1dG9jb21wbGV0ZVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUubW9kZWwnO1xuLy8gQmFkZ2VcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLm1vZGVsJztcbi8vIFJhZGlhbCBQcm9ncmVzc1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhZGlhbC1wcm9ncmVzcy9yYWRpYWwtcHJvZ3Jlc3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYWRpYWwtcHJvZ3Jlc3MvcmFkaWFsLXByb2dyZXNzLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhZGlhbC1wcm9ncmVzcy9yYWRpYWwtcHJvZ3Jlc3MubW9kZWwnO1xuLy8gRW1wdHkgU3RhdGVcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLm1vZGVsJztcbi8vIFRhYmxlXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5tb2RlbCc7XG4vLyBQYWdpbmF0b3JcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQubW9kdWxlJztcbi8vIFNrZWxldG9uXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50Jztcbi8vIFNpZGUgU2hlZXRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXNoZWV0L3NpZGUtc2hlZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXNoZWV0L3NpZGUtc2hlZXQuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2lkZS1zaGVldC9zaWRlLXNoZWV0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXNoZWV0L3NpZGUtc2hlZXQuc2VydmljZSc7XG4vLyBTbGlkZXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLm1vZGVsJztcbi8vIFNlZ21lbnRlZCBCYXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWdtZW50ZWQtYmFyL3NlZ21lbnRlZC1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWdtZW50ZWQtYmFyL3NlZ21lbnRlZC1iYXIuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2VnbWVudGVkLWJhci9zZWdtZW50ZWQtYmFyLm1vZGVsJztcbi8vIFBhZ2UgSGVhZGVyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQubW9kdWxlJztcbi8vIEFjY29yZGlvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24ubW9kZWwnO1xuLy8gRGl2aWRlclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaXZpZGVyL2RpdmlkZXIubW9kZWwnO1xuLy8gVGFic1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYnMvdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYnMvdGFicy5tb2RlbCc7XG4vLyBMYW5ndWFnZVxuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG4vL092ZXJmbG93IE1lbnVcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50Lm1vZHVsZSc7XG4vL0FwcGxpY2F0aW9uIFRoZW1lXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG4vLyBTZWdtZW50ZWQgQnV0dG9uXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2VnbWVudGVkLWJ1dHRvbi9zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2VnbWVudGVkLWJ1dHRvbi9zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1idXR0b24vc2VnbWVudGVkLWJ1dHRvbi5tb2RlbCc7XG4vLyBQYXNzd29yZCBDcml0ZXJpYVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Bhc3N3b3JkLWNyaXRlcmlhL3Bhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFzc3dvcmQtY3JpdGVyaWEvcGFzc3dvcmQuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBQaG9uZSBJbnB1dFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Bob25lLWlucHV0L3Bob25lLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQubW9kZWwnO1xuLy8gQ29sb3JzXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2xvcnMubW9kZWwnO1xuLy8gUGFzc3dvcmQgU3RyZW5ndGhcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gSWNvbnMgc2VydmljZVxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbi8vIElzIE1vYmlsZSBUb2tlblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMvaXMtbW9iaWxlJztcbi8vIE11bHRpIGlucHV0XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tdWx0aS1pbnB1dC9tdWx0aS1pbnB1dC5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tdWx0aS1pbnB1dC9tdWx0aS1pbnB1dC5tb2RlbCc7XG4vLyBWYWxpZGF0aW9uIEVycm9yXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLm1vZHVsZSc7XG4vLyBTaWRlIHBhbmVsXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLWRhdGEtaW5qZWN0aW9uLXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXBhbmVsL3NpZGUtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXBhbmVsL3NpZGUtcGFuZWwubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtcGFuZWwvc2lkZS1wYW5lbC5zZXJ2aWNlJztcbi8vIFNwaWRlciBDaGFydFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0Lm1vZHVsZSc7XG4vLyBDaGVja2xpc3RcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jaGVja2xpc3QvY2hlY2tsaXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tsaXN0L2NoZWNrbGlzdC5tb2RlbCc7XG4vLyBNZWRpYSBjYXJkXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbWVkaWEtY2FyZC9tZWRpYS1jYXJkLmNvbXBvbmVudCc7XG4vLyBHYXVzc2lhbiBDaGFydFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2dhdXNzaWFuLWNoYXJ0L2dhdXNzaWFuLWNoYXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZ2F1c3NpYW4tY2hhcnQvZ2F1c3NpYW4tY2hhcnQubW9kdWxlJztcbi8vIFVuaXZlcnNhbCBTa2lsbHMgU3BpZGVyIENoYXJ0c1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3VuaXZlcnNhbC1za2lsbHMtc3BpZGVyLWNoYXJ0cy91bml2ZXJzYWwtc2tpbGxzLXNwaWRlci1jaGFydHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91bml2ZXJzYWwtc2tpbGxzLXNwaWRlci1jaGFydHMvdW5pdmVyc2FsLXNraWxscy1zcGlkZXItY2hhcnRzLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91bml2ZXJzYWwtc2tpbGxzLnNlcnZpY2UnO1xuLy8gTWVtb2l6ZVxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9tZW1vaXplLWZ1bmMucGlwZSc7XG4vLyBGaWx0ZXIgQnV0dG9uXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLWJ1dHRvbi9maWx0ZXItYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLWJ1dHRvbi9maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1idXR0b24vZmlsdGVyLWJ1dHRvbi5tb2RlbCc7XG5cbiJdfQ==
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFFcEIsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxlQUFlO0FBQ2YsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGFBQWE7QUFDYixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxTQUFTO0FBQ1QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsT0FBTztBQUNQLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGtCQUFrQjtBQUNsQixjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsV0FBVztBQUNYLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxTQUFTO0FBQ1QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjO0FBQ2QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLG1CQUFtQjtBQUNuQixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxRQUFR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LGNBQWMsNENBQTRDLENBQUM7QUFDM0QsZUFBZTtBQUNmLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELFlBQVk7QUFDWixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsYUFBYTtBQUNiLGNBQWMsOENBQThDLENBQUM7QUFDN0QsaUJBQWlCO0FBQ2pCLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxpQ0FBaUM7QUFDakMsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsVUFBVTtBQUNWLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsZ0JBQWdCO0FBQ2hCLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cblxuLyogQ29tcG9uZW50cyAqL1xuLy8gVW5pdmVyc2FsIHNraWxscyByZXBvcnRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91bml2ZXJzYWwtc2tpbGxzLXJlcG9ydC91bml2ZXJzYWwtc2tpbGxzLXJlcG9ydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3VuaXZlcnNhbC1za2lsbHMtcmVwb3J0L3VuaXZlcnNhbC1za2lsbHMtcmVwb3J0LmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdW5pdmVyc2FsLXNraWxscy1yZXBvcnQubW9kZWwnO1xuLy8gQWxlcnQgQmFubmVyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50Lm1vZHVsZSc7XG4vL0FJIEZlZWRiYWNrXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWktZmVlZGJhY2svYWktZmVlZGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9haS1mZWVkYmFjay9haS1mZWVkYmFjay5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWktZmVlZGJhY2svYWktZmVlZGJhY2subW9kdWxlJztcbi8vIEJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kZWwnO1xuLy8gQ2FyZFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQubW9kZWwnO1xuLy8gU2VsZWN0YWJsZSBDYXJkXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0YWJsZS1jYXJkL3NlbGVjdGFibGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdGFibGUtY2FyZC9zZWxlY3RhYmxlLWNhcmQuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBDaGVja2JveFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBEaWFsb2dcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuLy8gRG9udXQgQ2hhcnRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kb251dC1jaGFydC9kb251dC1jaGFydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvbnV0LWNoYXJ0L2RvbnV0LWNoYXJ0LmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gRWxldmF0aW9uIHNoYWRvd1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VsZXZhdGlvbi1zaGFkb3cvZWxldmF0aW9uLXNoYWRvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VsZXZhdGlvbi1zaGFkb3cvZWxldmF0aW9uLXNoYWRvdy5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lbGV2YXRpb24tc2hhZG93L2VsZXZhdGlvbi1zaGFkb3cuY29uc3RhbnQnO1xuLy8gRmllbGRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWVsZC9maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLm1vZGVsJztcbi8vIElubGluZSBGaWVsZFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lubGluZS1maWVsZC9pbmxpbmUtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbmxpbmUtZmllbGQvaW5saW5lLWZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lubGluZS1maWVsZC9pbmxpbmUtZmllbGQubW9kZWwnO1xuLy8gRmlsZSB1cGxvYWRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gSWNvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xuLy8gSWNvbiArIGxhYmVsXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaWNvbi1sYWJlbC9pY29uLWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaWNvbi1sYWJlbC9pY29uLWxhYmVsLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gTG9nb1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvZ28vbG9nby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvZ28vbG9nby5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2dvL2xvZ28ubW9kZWwnO1xuLy8gTmF2YmFyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5tb2RlbCc7XG4vLyBEZXByZWNhdGVkIFBhZ2luYXRvclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlcHJlY2F0ZWQtcGFnaW5hdG9yL2RlcHJlY2F0ZWQtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVwcmVjYXRlZC1wYWdpbmF0b3IvZGVwcmVjYXRlZC1wYWdpbmF0b3IuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBQcm9ncmVzcyBiYXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQubW9kdWxlJztcbi8vIFJhZGlvIGJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gU25hY2tiYXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbi8vIERhdGEgUHJvcGVydHkgR2V0dGVyIFBpcGVcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZGF0YS1wcm9wZXJ0eS1nZXR0ZXInO1xuLy8gVGFnXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFnL3RhZy5tb2RlbCc7XG4vLyBUb29sdGlwXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5tb2RlbCc7XG4vLyBEcm9wZG93blxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24ubW9kZWwnO1xuLy8gU3Bpbm5lclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG4vLyBDb25maXJtIERpYWxvZ1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cubW9kZWwnO1xuLy8gRGF0ZXBpY2tlclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQubW9kdWxlJztcbi8vIFJhdGluZ1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhdGluZy9yYXRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYXRpbmcvcmF0aW5nLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gU2NhbGVcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY2FsZS9zY2FsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NjYWxlL3NjYWxlLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gU2NhbGUgVGFibGVcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY2FsZS10YWJsZS9zY2FsZS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NjYWxlLXRhYmxlL3NjYWxlLXRhYmxlLm1vZGVsJztcbi8vIFRhZ1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gVG9nZ2xlXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBBdmF0YXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLm1vZGVsJztcbi8vIFN0ZXBwZXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50Lm1vZHVsZSc7XG4vLyBTdGVwXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3RlcC9zdGVwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3RlcC9zdGVwLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gSW5wdXQgQXV0b2NvbXBsZXRlXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5tb2RlbCc7XG4vLyBCYWRnZVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UubW9kZWwnO1xuLy8gUmFkaWFsIFByb2dyZXNzXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFkaWFsLXByb2dyZXNzL3JhZGlhbC1wcm9ncmVzcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhZGlhbC1wcm9ncmVzcy9yYWRpYWwtcHJvZ3Jlc3MuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFkaWFsLXByb2dyZXNzL3JhZGlhbC1wcm9ncmVzcy5tb2RlbCc7XG4vLyBFbXB0eSBTdGF0ZVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUubW9kZWwnO1xuLy8gVGFibGVcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLm1vZGVsJztcbi8vIFBhZ2luYXRvclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gU2tlbGV0b25cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9za2VsZXRvbi9za2VsZXRvbi5jb21wb25lbnQnO1xuLy8gU2lkZSBTaGVldFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtc2hlZXQvc2lkZS1zaGVldC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtc2hlZXQvc2lkZS1zaGVldC5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXNoZWV0L3NpZGUtc2hlZXQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtc2hlZXQvc2lkZS1zaGVldC5zZXJ2aWNlJztcbi8vIFNsaWRlclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIubW9kZWwnO1xuLy8gU2VnbWVudGVkIEJhclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1iYXIvc2VnbWVudGVkLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1iYXIvc2VnbWVudGVkLWJhci5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWdtZW50ZWQtYmFyL3NlZ21lbnRlZC1iYXIubW9kZWwnO1xuLy8gUGFnZSBIZWFkZXJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gQWNjb3JkaW9uXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5tb2RlbCc7XG4vLyBEaXZpZGVyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5tb2RlbCc7XG4vLyBUYWJzXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWJzLm1vZGVsJztcbi8vIExhbmd1YWdlXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbi8vT3ZlcmZsb3cgTWVudVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL292ZXJmbG93LW1lbnUvb3ZlcmZsb3ctbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL292ZXJmbG93LW1lbnUvb3ZlcmZsb3ctbWVudS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3ZlcmZsb3ctbWVudS9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC5tb2R1bGUnO1xuLy9BcHBsaWNhdGlvbiBUaGVtZVxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuLy8gU2VnbWVudGVkIEJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1idXR0b24vc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1idXR0b24vc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWdtZW50ZWQtYnV0dG9uL3NlZ21lbnRlZC1idXR0b24ubW9kZWwnO1xuLy8gUGFzc3dvcmQgQ3JpdGVyaWFcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC1jcml0ZXJpYS9wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Bhc3N3b3JkLWNyaXRlcmlhL3Bhc3N3b3JkLmNvbXBvbmVudC5tb2R1bGUnO1xuLy8gUGhvbmUgSW5wdXRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Bob25lLWlucHV0L3Bob25lLWlucHV0LmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Bob25lLWlucHV0L3Bob25lLWlucHV0Lm1vZGVsJztcbi8vIENvbG9yc1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29sb3JzLm1vZGVsJztcbi8vIFBhc3N3b3JkIFN0cmVuZ3RoXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQubW9kdWxlJztcbi8vIEljb25zIHNlcnZpY2VcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaWNvbnMuc2VydmljZSc7XG4vLyBJcyBNb2JpbGUgVG9rZW5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzL2lzLW1vYmlsZSc7XG4vLyBNdWx0aSBpbnB1dFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL211bHRpLWlucHV0L211bHRpLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQubW9kZWwnO1xuLy8gVmFsaWRhdGlvbiBFcnJvclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5tb2R1bGUnO1xuLy8gU2lkZSBwYW5lbFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtcGFuZWwvc2lkZS1wYW5lbC1kYXRhLWluamVjdGlvbi10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXBhbmVsL3NpZGUtcGFuZWwuc2VydmljZSc7XG4vLyBTcGlkZXIgQ2hhcnRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3BpZGVyLWNoYXJ0L3NwaWRlci1jaGFydC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3BpZGVyLWNoYXJ0L3NwaWRlci1jaGFydC5tb2R1bGUnO1xuLy8gQ2hlY2tsaXN0XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tsaXN0L2NoZWNrbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrbGlzdC9jaGVja2xpc3QubW9kZWwnO1xuLy8gTWVkaWEgY2FyZFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21lZGlhLWNhcmQvbWVkaWEtY2FyZC5jb21wb25lbnQnO1xuLy8gR2F1c3NpYW4gQ2hhcnRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9nYXVzc2lhbi1jaGFydC9nYXVzc2lhbi1jaGFydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2dhdXNzaWFuLWNoYXJ0L2dhdXNzaWFuLWNoYXJ0Lm1vZHVsZSc7XG4vLyBVbml2ZXJzYWwgU2tpbGxzIFNwaWRlciBDaGFydHNcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91bml2ZXJzYWwtc2tpbGxzLXNwaWRlci1jaGFydHMvdW5pdmVyc2FsLXNraWxscy1zcGlkZXItY2hhcnRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdW5pdmVyc2FsLXNraWxscy1zcGlkZXItY2hhcnRzL3VuaXZlcnNhbC1za2lsbHMtc3BpZGVyLWNoYXJ0cy5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdW5pdmVyc2FsLXNraWxscy5zZXJ2aWNlJztcbi8vIE1lbW9pemVcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbWVtb2l6ZS1mdW5jLnBpcGUnO1xuLy8gRmlsdGVyIEJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1idXR0b24vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1idXR0b24vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXItYnV0dG9uL2ZpbHRlci1idXR0b24ubW9kZWwnO1xuXG4iXX0=
|