@cqa-lib/cqa-ui 1.1.513 → 1.1.515
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/capture-video-dialog/capture-video-dialog.component.mjs +81 -0
- package/esm2020/lib/execution-screen/breakpoints-modal/breakpoints-modal.component.mjs +3 -3
- package/esm2020/lib/simulator/simulator.component.mjs +221 -33
- package/esm2020/lib/table/dynamic-table/dynamic-table.component.mjs +33 -5
- package/esm2020/lib/ui-kit.module.mjs +6 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +339 -42
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +335 -39
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/capture-video-dialog/capture-video-dialog.component.d.ts +35 -0
- package/lib/simulator/simulator.component.d.ts +31 -4
- package/lib/table/dynamic-table/dynamic-table.component.d.ts +11 -0
- package/lib/ui-kit.module.d.ts +89 -88
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/styles.css +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../badge/badge.component";
|
|
4
|
+
import * as i2 from "../button/button.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class CaptureVideoDialogComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.isOpen = false;
|
|
9
|
+
this.state = null;
|
|
10
|
+
this.buttons = [];
|
|
11
|
+
this.actionClick = new EventEmitter();
|
|
12
|
+
this.closeModal = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
get isStarting() { return this.state === 'starting'; }
|
|
15
|
+
get isCapturing() { return this.state === 'capturing'; }
|
|
16
|
+
get isReady() { return this.state === 'ready'; }
|
|
17
|
+
get isFailed() { return this.state === 'failed'; }
|
|
18
|
+
get isInProgress() { return this.isStarting || this.isCapturing; }
|
|
19
|
+
get resolvedTitle() {
|
|
20
|
+
if (this.title)
|
|
21
|
+
return this.title;
|
|
22
|
+
switch (this.state) {
|
|
23
|
+
case 'starting': return 'Starting Capture';
|
|
24
|
+
case 'capturing': return 'Capturing Video';
|
|
25
|
+
case 'ready': return 'Your Video is Ready';
|
|
26
|
+
case 'failed': return 'Video Capture Failed';
|
|
27
|
+
default: return '';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
get resolvedMessage() {
|
|
31
|
+
if (this.message != null)
|
|
32
|
+
return this.message;
|
|
33
|
+
switch (this.state) {
|
|
34
|
+
case 'starting': return 'Preparing the recorder for this segment.';
|
|
35
|
+
case 'capturing': return 'Recording the current segment. This will only take a few seconds.';
|
|
36
|
+
case 'ready': return 'Switch to the Captured tab in the simulator to watch it.';
|
|
37
|
+
case 'failed': return '';
|
|
38
|
+
default: return '';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get progressBadgeLabel() {
|
|
42
|
+
return this.isStarting ? 'Starting…' : 'Capturing…';
|
|
43
|
+
}
|
|
44
|
+
onBackdropClick(event) {
|
|
45
|
+
if (this.isInProgress)
|
|
46
|
+
return;
|
|
47
|
+
const target = event.target;
|
|
48
|
+
const currentTarget = event.currentTarget;
|
|
49
|
+
if (target === currentTarget || target.classList.contains('modal-backdrop')) {
|
|
50
|
+
this.closeModal.emit();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
onButtonClick(button) {
|
|
54
|
+
if (button.disabled)
|
|
55
|
+
return;
|
|
56
|
+
this.actionClick.emit(button.action);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
CaptureVideoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CaptureVideoDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
CaptureVideoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CaptureVideoDialogComponent, selector: "cqa-capture-video-dialog", inputs: { isOpen: "isOpen", state: "state", title: "title", message: "message", errorMessage: "errorMessage", buttons: "buttons" }, outputs: { actionClick: "actionClick", closeModal: "closeModal" }, ngImport: i0, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-[9999] cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-lg cqa-bg-white cqa-shadow-xl cqa-w-full cqa-max-w-[460px] cqa-overflow-hidden cqa-p-6 cqa-flex cqa-flex-col cqa-gap-4 cqa-max-h-[85vh] cqa-overflow-y-auto\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808;\" (click)=\"$event.stopPropagation()\">\n\n <div class=\"cqa-flex cqa-flex-col cqa-items-center\">\n <div *ngIf=\"isInProgress\">\n <svg width=\"93\" height=\"93\" viewBox=\"0 0 93 93\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" fill=\"#DBEAFE\"/>\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" stroke=\"#EFF6FF\" stroke-width=\"8\"/>\n <path d=\"M46.5 26.5V35.5M46.5 57.5V66.5M28.5 46.5H37.5M55.5 46.5H64.5M33.79 33.79L40.15 40.15M52.85 52.85L59.21 59.21M33.79 59.21L40.15 52.85M52.85 40.15L59.21 33.79\"\n stroke=\"#2563EB\" stroke-width=\"4\" stroke-linecap=\"round\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 46.5 46.5\" to=\"360 46.5 46.5\" dur=\"1.5s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n </div>\n\n <div *ngIf=\"isReady\">\n <svg width=\"93\" height=\"93\" viewBox=\"0 0 93 93\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" fill=\"#10B981\"/>\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" stroke=\"#D1FAE5\" stroke-width=\"8\"/>\n <path d=\"M30 47L42 59L63 36\" stroke=\"white\" stroke-width=\"5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n\n <div *ngIf=\"isFailed\">\n <svg width=\"93\" height=\"93\" viewBox=\"0 0 93 93\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" fill=\"#F15F5F\"/>\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" stroke=\"#FCD9D9\" stroke-width=\"8\"/>\n <path d=\"M32.3815 62.4437H60.619C63.5065 62.4437 65.3065 59.3125 63.8627 56.8188L49.744 32.425C48.3002 29.9313 44.7002 29.9313 43.2565 32.425L29.1377 56.8188C27.694 59.3125 29.494 62.4437 32.3815 62.4437ZM46.5002 49.3188C45.469 49.3188 44.6252 48.475 44.6252 47.4438V43.6938C44.6252 42.6625 45.469 41.8188 46.5002 41.8188C47.5315 41.8188 48.3752 42.6625 48.3752 43.6938V47.4438C48.3752 48.475 47.5315 49.3188 46.5002 49.3188ZM48.3752 56.8188H44.6252V53.0688H48.3752V56.8188Z\" fill=\"white\"/>\n </svg>\n </div>\n\n <h2 class=\"cqa-text-[22px] cqa-font-semibold cqa-text-[#0B0B0C] cqa-mt-[20px] cqa-leading-[28px]\">\n {{ resolvedTitle }}\n </h2>\n\n <p *ngIf=\"resolvedMessage\"\n class=\"cqa-text-sm cqa-text-[#4A5565] cqa-mt-2 cqa-text-center\">\n {{ resolvedMessage }}\n </p>\n </div>\n\n <div *ngIf=\"isFailed && errorMessage\"\n class=\"cqa-my-1 cqa-p-4 cqa-rounded-lg cqa-bg-white\"\n style=\"border: 1px solid #E5E7EB;\">\n <div class=\"cqa-text-xs cqa-text-[#9CA3AF] cqa-mb-2 cqa-font-medium\">\n Error Message\n </div>\n <div class=\"cqa-text-sm cqa-text-[#111827] cqa-font-semibold cqa-whitespace-normal cqa-break-anywhere\"\n style=\"word-break: break-word; white-space: pre-line;\">\n {{ errorMessage }}\n </div>\n </div>\n\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[20px]\">\n <cqa-badge\n *ngIf=\"isInProgress\"\n [label]=\"progressBadgeLabel\"\n icon=\"autorenew\"\n [isLoading]=\"true\"\n [fullWidth]=\"true\"\n [centerContent]=\"true\"\n variant=\"info\"\n size=\"medium\"\n inlineStyles=\"min-height: 44px;\">\n </cqa-badge>\n\n <ng-container *ngIf=\"!isInProgress\">\n <cqa-button\n *ngFor=\"let button of buttons\"\n [variant]=\"button.variant\"\n [text]=\"button.label\"\n [icon]=\"button.icon\"\n [btnSize]=\"button.btnSize || 'lg'\"\n [fullWidth]=\"button.fullWidth !== undefined ? button.fullWidth : true\"\n [disabled]=\"button.disabled ?? false\"\n (clicked)=\"onButtonClick(button)\">\n </cqa-button>\n </ng-container>\n </div>\n </div>\n</div>\n", components: [{ type: i1.BadgeComponent, selector: "cqa-badge", inputs: ["type", "label", "icon", "iconLibrary", "variant", "size", "backgroundColor", "textColor", "borderColor", "iconBackgroundColor", "iconColor", "iconSize", "inlineStyles", "key", "value", "keyTextColor", "valueTextColor", "isLoading", "fullWidth", "centerContent", "title"] }, { type: i2.ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "loading", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CaptureVideoDialogComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{ selector: 'cqa-capture-video-dialog', template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-[9999] cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-lg cqa-bg-white cqa-shadow-xl cqa-w-full cqa-max-w-[460px] cqa-overflow-hidden cqa-p-6 cqa-flex cqa-flex-col cqa-gap-4 cqa-max-h-[85vh] cqa-overflow-y-auto\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808;\" (click)=\"$event.stopPropagation()\">\n\n <div class=\"cqa-flex cqa-flex-col cqa-items-center\">\n <div *ngIf=\"isInProgress\">\n <svg width=\"93\" height=\"93\" viewBox=\"0 0 93 93\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" fill=\"#DBEAFE\"/>\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" stroke=\"#EFF6FF\" stroke-width=\"8\"/>\n <path d=\"M46.5 26.5V35.5M46.5 57.5V66.5M28.5 46.5H37.5M55.5 46.5H64.5M33.79 33.79L40.15 40.15M52.85 52.85L59.21 59.21M33.79 59.21L40.15 52.85M52.85 40.15L59.21 33.79\"\n stroke=\"#2563EB\" stroke-width=\"4\" stroke-linecap=\"round\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 46.5 46.5\" to=\"360 46.5 46.5\" dur=\"1.5s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n </div>\n\n <div *ngIf=\"isReady\">\n <svg width=\"93\" height=\"93\" viewBox=\"0 0 93 93\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" fill=\"#10B981\"/>\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" stroke=\"#D1FAE5\" stroke-width=\"8\"/>\n <path d=\"M30 47L42 59L63 36\" stroke=\"white\" stroke-width=\"5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n\n <div *ngIf=\"isFailed\">\n <svg width=\"93\" height=\"93\" viewBox=\"0 0 93 93\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" fill=\"#F15F5F\"/>\n <rect x=\"4\" y=\"4\" width=\"85\" height=\"85\" rx=\"42.5\" stroke=\"#FCD9D9\" stroke-width=\"8\"/>\n <path d=\"M32.3815 62.4437H60.619C63.5065 62.4437 65.3065 59.3125 63.8627 56.8188L49.744 32.425C48.3002 29.9313 44.7002 29.9313 43.2565 32.425L29.1377 56.8188C27.694 59.3125 29.494 62.4437 32.3815 62.4437ZM46.5002 49.3188C45.469 49.3188 44.6252 48.475 44.6252 47.4438V43.6938C44.6252 42.6625 45.469 41.8188 46.5002 41.8188C47.5315 41.8188 48.3752 42.6625 48.3752 43.6938V47.4438C48.3752 48.475 47.5315 49.3188 46.5002 49.3188ZM48.3752 56.8188H44.6252V53.0688H48.3752V56.8188Z\" fill=\"white\"/>\n </svg>\n </div>\n\n <h2 class=\"cqa-text-[22px] cqa-font-semibold cqa-text-[#0B0B0C] cqa-mt-[20px] cqa-leading-[28px]\">\n {{ resolvedTitle }}\n </h2>\n\n <p *ngIf=\"resolvedMessage\"\n class=\"cqa-text-sm cqa-text-[#4A5565] cqa-mt-2 cqa-text-center\">\n {{ resolvedMessage }}\n </p>\n </div>\n\n <div *ngIf=\"isFailed && errorMessage\"\n class=\"cqa-my-1 cqa-p-4 cqa-rounded-lg cqa-bg-white\"\n style=\"border: 1px solid #E5E7EB;\">\n <div class=\"cqa-text-xs cqa-text-[#9CA3AF] cqa-mb-2 cqa-font-medium\">\n Error Message\n </div>\n <div class=\"cqa-text-sm cqa-text-[#111827] cqa-font-semibold cqa-whitespace-normal cqa-break-anywhere\"\n style=\"word-break: break-word; white-space: pre-line;\">\n {{ errorMessage }}\n </div>\n </div>\n\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[20px]\">\n <cqa-badge\n *ngIf=\"isInProgress\"\n [label]=\"progressBadgeLabel\"\n icon=\"autorenew\"\n [isLoading]=\"true\"\n [fullWidth]=\"true\"\n [centerContent]=\"true\"\n variant=\"info\"\n size=\"medium\"\n inlineStyles=\"min-height: 44px;\">\n </cqa-badge>\n\n <ng-container *ngIf=\"!isInProgress\">\n <cqa-button\n *ngFor=\"let button of buttons\"\n [variant]=\"button.variant\"\n [text]=\"button.label\"\n [icon]=\"button.icon\"\n [btnSize]=\"button.btnSize || 'lg'\"\n [fullWidth]=\"button.fullWidth !== undefined ? button.fullWidth : true\"\n [disabled]=\"button.disabled ?? false\"\n (clicked)=\"onButtonClick(button)\">\n </cqa-button>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [] }]
|
|
64
|
+
}], propDecorators: { isOpen: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], state: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], title: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], message: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], errorMessage: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], buttons: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], actionClick: [{
|
|
77
|
+
type: Output
|
|
78
|
+
}], closeModal: [{
|
|
79
|
+
type: Output
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS12aWRlby1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jYXB0dXJlLXZpZGVvLWRpYWxvZy9jYXB0dXJlLXZpZGVvLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NhcHR1cmUtdmlkZW8tZGlhbG9nL2NhcHR1cmUtdmlkZW8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBb0J2RSxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBTVcsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixVQUFLLEdBQW1DLElBQUksQ0FBQztRQU03QyxZQUFPLEdBQStCLEVBQUUsQ0FBQztRQUV4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0ErQ2pEO0lBN0NDLElBQUksVUFBVSxLQUFjLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQy9ELElBQUksV0FBVyxLQUFjLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLElBQUksT0FBTyxLQUFjLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQUksUUFBUSxLQUFjLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNELElBQUksWUFBWSxLQUFjLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUUzRSxJQUFJLGFBQWE7UUFDZixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2xDLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNsQixLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sa0JBQWtCLENBQUM7WUFDM0MsS0FBSyxXQUFXLENBQUMsQ0FBQyxPQUFPLGlCQUFpQixDQUFDO1lBQzNDLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxxQkFBcUIsQ0FBQztZQUMzQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sc0JBQXNCLENBQUM7WUFDN0MsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlDLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNsQixLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sMENBQTBDLENBQUM7WUFDbkUsS0FBSyxXQUFXLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1lBQzdGLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTywwREFBMEQsQ0FBQztZQUNoRixLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDdEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFpQjtRQUMvQixJQUFJLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTztRQUM5QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBNEIsQ0FBQztRQUN6RCxJQUFJLE1BQU0sS0FBSyxhQUFhLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUMzRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFnQztRQUM1QyxJQUFJLE1BQU0sQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7d0hBekRVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHVRQ3BCeEMsMjZJQXFGQTsyRkRqRWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjs4QkFLM0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBDYXB0dXJlVmlkZW9EaWFsb2dTdGF0ZSA9ICdzdGFydGluZycgfCAnY2FwdHVyaW5nJyB8ICdyZWFkeScgfCAnZmFpbGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXB0dXJlVmlkZW9EaWFsb2dCdXR0b24ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YXJpYW50OiBCdXR0b25WYXJpYW50O1xuICBhY3Rpb246IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgYnRuU2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJztcbiAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtY2FwdHVyZS12aWRlby1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FwdHVyZS12aWRlby1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENhcHR1cmVWaWRlb0RpYWxvZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzdGF0ZTogQ2FwdHVyZVZpZGVvRGlhbG9nU3RhdGUgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgbWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGJ1dHRvbnM6IENhcHR1cmVWaWRlb0RpYWxvZ0J1dHRvbltdID0gW107XG5cbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGdldCBpc1N0YXJ0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gJ3N0YXJ0aW5nJzsgfVxuICBnZXQgaXNDYXB0dXJpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnN0YXRlID09PSAnY2FwdHVyaW5nJzsgfVxuICBnZXQgaXNSZWFkeSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuc3RhdGUgPT09ICdyZWFkeSc7IH1cbiAgZ2V0IGlzRmFpbGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gJ2ZhaWxlZCc7IH1cbiAgZ2V0IGlzSW5Qcm9ncmVzcygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuaXNTdGFydGluZyB8fCB0aGlzLmlzQ2FwdHVyaW5nOyB9XG5cbiAgZ2V0IHJlc29sdmVkVGl0bGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50aXRsZSkgcmV0dXJuIHRoaXMudGl0bGU7XG4gICAgc3dpdGNoICh0aGlzLnN0YXRlKSB7XG4gICAgICBjYXNlICdzdGFydGluZyc6IHJldHVybiAnU3RhcnRpbmcgQ2FwdHVyZSc7XG4gICAgICBjYXNlICdjYXB0dXJpbmcnOiByZXR1cm4gJ0NhcHR1cmluZyBWaWRlbyc7XG4gICAgICBjYXNlICdyZWFkeSc6IHJldHVybiAnWW91ciBWaWRlbyBpcyBSZWFkeSc7XG4gICAgICBjYXNlICdmYWlsZWQnOiByZXR1cm4gJ1ZpZGVvIENhcHR1cmUgRmFpbGVkJztcbiAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubWVzc2FnZSAhPSBudWxsKSByZXR1cm4gdGhpcy5tZXNzYWdlO1xuICAgIHN3aXRjaCAodGhpcy5zdGF0ZSkge1xuICAgICAgY2FzZSAnc3RhcnRpbmcnOiByZXR1cm4gJ1ByZXBhcmluZyB0aGUgcmVjb3JkZXIgZm9yIHRoaXMgc2VnbWVudC4nO1xuICAgICAgY2FzZSAnY2FwdHVyaW5nJzogcmV0dXJuICdSZWNvcmRpbmcgdGhlIGN1cnJlbnQgc2VnbWVudC4gVGhpcyB3aWxsIG9ubHkgdGFrZSBhIGZldyBzZWNvbmRzLic7XG4gICAgICBjYXNlICdyZWFkeSc6IHJldHVybiAnU3dpdGNoIHRvIHRoZSBDYXB0dXJlZCB0YWIgaW4gdGhlIHNpbXVsYXRvciB0byB3YXRjaCBpdC4nO1xuICAgICAgY2FzZSAnZmFpbGVkJzogcmV0dXJuICcnO1xuICAgICAgZGVmYXVsdDogcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBwcm9ncmVzc0JhZGdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1N0YXJ0aW5nID8gJ1N0YXJ0aW5n4oCmJyA6ICdDYXB0dXJpbmfigKYnO1xuICB9XG5cbiAgb25CYWNrZHJvcENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNJblByb2dyZXNzKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGN1cnJlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICh0YXJnZXQgPT09IGN1cnJlbnRUYXJnZXQgfHwgdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtYmFja2Ryb3AnKSkge1xuICAgICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKGJ1dHRvbjogQ2FwdHVyZVZpZGVvRGlhbG9nQnV0dG9uKTogdm9pZCB7XG4gICAgaWYgKGJ1dHRvbi5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChidXR0b24uYWN0aW9uKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzT3BlblwiXG4gIGNsYXNzPVwibW9kYWwtYmFja2Ryb3AgY3FhLWZpeGVkIGNxYS1pbnNldC0wIGNxYS1iZy1ibGFjayBjcWEtYmctb3BhY2l0eS01MCBjcWEtei1bOTk5OV0gY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXAtNFwiXG4gIChjbGljayk9XCJvbkJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcWEtcm91bmRlZC1sZyBjcWEtYmctd2hpdGUgY3FhLXNoYWRvdy14bCBjcWEtdy1mdWxsIGNxYS1tYXgtdy1bNDYwcHhdIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLXAtNiBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC00IGNxYS1tYXgtaC1bODV2aF0gY3FhLW92ZXJmbG93LXktYXV0b1wiXG4gICAgc3R5bGU9XCJib3gtc2hhZG93OiAwcHggOHB4IDhweCAtNHB4ICMxMDE4MjgwODtcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc0luUHJvZ3Jlc3NcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjkzXCIgaGVpZ2h0PVwiOTNcIiB2aWV3Qm94PVwiMCAwIDkzIDkzXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiODVcIiBoZWlnaHQ9XCI4NVwiIHJ4PVwiNDIuNVwiIGZpbGw9XCIjREJFQUZFXCIvPlxuICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjg1XCIgaGVpZ2h0PVwiODVcIiByeD1cIjQyLjVcIiBzdHJva2U9XCIjRUZGNkZGXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTQ2LjUgMjYuNVYzNS41TTQ2LjUgNTcuNVY2Ni41TTI4LjUgNDYuNUgzNy41TTU1LjUgNDYuNUg2NC41TTMzLjc5IDMzLjc5TDQwLjE1IDQwLjE1TTUyLjg1IDUyLjg1TDU5LjIxIDU5LjIxTTMzLjc5IDU5LjIxTDQwLjE1IDUyLjg1TTUyLjg1IDQwLjE1TDU5LjIxIDMzLjc5XCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCIjMjU2M0VCXCIgc3Ryb2tlLXdpZHRoPVwiNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIj5cbiAgICAgICAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9XCJ0cmFuc2Zvcm1cIiB0eXBlPVwicm90YXRlXCIgZnJvbT1cIjAgNDYuNSA0Ni41XCIgdG89XCIzNjAgNDYuNSA0Ni41XCIgZHVyPVwiMS41c1wiIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiLz5cbiAgICAgICAgICA8L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc1JlYWR5XCI+XG4gICAgICAgIDxzdmcgd2lkdGg9XCI5M1wiIGhlaWdodD1cIjkzXCIgdmlld0JveD1cIjAgMCA5MyA5M1wiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjg1XCIgaGVpZ2h0PVwiODVcIiByeD1cIjQyLjVcIiBmaWxsPVwiIzEwQjk4MVwiLz5cbiAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI4NVwiIGhlaWdodD1cIjg1XCIgcng9XCI0Mi41XCIgc3Ryb2tlPVwiI0QxRkFFNVwiIHN0cm9rZS13aWR0aD1cIjhcIi8+XG4gICAgICAgICAgPHBhdGggZD1cIk0zMCA0N0w0MiA1OUw2MyAzNlwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cImlzRmFpbGVkXCI+XG4gICAgICAgIDxzdmcgd2lkdGg9XCI5M1wiIGhlaWdodD1cIjkzXCIgdmlld0JveD1cIjAgMCA5MyA5M1wiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjg1XCIgaGVpZ2h0PVwiODVcIiByeD1cIjQyLjVcIiBmaWxsPVwiI0YxNUY1RlwiLz5cbiAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI4NVwiIGhlaWdodD1cIjg1XCIgcng9XCI0Mi41XCIgc3Ryb2tlPVwiI0ZDRDlEOVwiIHN0cm9rZS13aWR0aD1cIjhcIi8+XG4gICAgICAgICAgPHBhdGggZD1cIk0zMi4zODE1IDYyLjQ0MzdINjAuNjE5QzYzLjUwNjUgNjIuNDQzNyA2NS4zMDY1IDU5LjMxMjUgNjMuODYyNyA1Ni44MTg4TDQ5Ljc0NCAzMi40MjVDNDguMzAwMiAyOS45MzEzIDQ0LjcwMDIgMjkuOTMxMyA0My4yNTY1IDMyLjQyNUwyOS4xMzc3IDU2LjgxODhDMjcuNjk0IDU5LjMxMjUgMjkuNDk0IDYyLjQ0MzcgMzIuMzgxNSA2Mi40NDM3Wk00Ni41MDAyIDQ5LjMxODhDNDUuNDY5IDQ5LjMxODggNDQuNjI1MiA0OC40NzUgNDQuNjI1MiA0Ny40NDM4VjQzLjY5MzhDNDQuNjI1MiA0Mi42NjI1IDQ1LjQ2OSA0MS44MTg4IDQ2LjUwMDIgNDEuODE4OEM0Ny41MzE1IDQxLjgxODggNDguMzc1MiA0Mi42NjI1IDQ4LjM3NTIgNDMuNjkzOFY0Ny40NDM4QzQ4LjM3NTIgNDguNDc1IDQ3LjUzMTUgNDkuMzE4OCA0Ni41MDAyIDQ5LjMxODhaTTQ4LjM3NTIgNTYuODE4OEg0NC42MjUyVjUzLjA2ODhINDguMzc1MlY1Ni44MTg4WlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgyIGNsYXNzPVwiY3FhLXRleHQtWzIycHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjMEIwQjBDXSBjcWEtbXQtWzIwcHhdIGNxYS1sZWFkaW5nLVsyOHB4XVwiPlxuICAgICAgICB7eyByZXNvbHZlZFRpdGxlIH19XG4gICAgICA8L2gyPlxuXG4gICAgICA8cCAqbmdJZj1cInJlc29sdmVkTWVzc2FnZVwiXG4gICAgICAgICBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS10ZXh0LVsjNEE1NTY1XSBjcWEtbXQtMiBjcWEtdGV4dC1jZW50ZXJcIj5cbiAgICAgICAge3sgcmVzb2x2ZWRNZXNzYWdlIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNGYWlsZWQgJiYgZXJyb3JNZXNzYWdlXCJcbiAgICAgIGNsYXNzPVwiY3FhLW15LTEgY3FhLXAtNCBjcWEtcm91bmRlZC1sZyBjcWEtYmctd2hpdGVcIlxuICAgICAgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjRTVFN0VCO1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtbWItMiBjcWEtZm9udC1tZWRpdW1cIj5cbiAgICAgICAgRXJyb3IgTWVzc2FnZVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLXRleHQtWyMxMTE4MjddIGNxYS1mb250LXNlbWlib2xkIGNxYS13aGl0ZXNwYWNlLW5vcm1hbCBjcWEtYnJlYWstYW55d2hlcmVcIlxuICAgICAgICBzdHlsZT1cIndvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC1bMjBweF1cIj5cbiAgICAgIDxjcWEtYmFkZ2VcbiAgICAgICAgKm5nSWY9XCJpc0luUHJvZ3Jlc3NcIlxuICAgICAgICBbbGFiZWxdPVwicHJvZ3Jlc3NCYWRnZUxhYmVsXCJcbiAgICAgICAgaWNvbj1cImF1dG9yZW5ld1wiXG4gICAgICAgIFtpc0xvYWRpbmddPVwidHJ1ZVwiXG4gICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIFtjZW50ZXJDb250ZW50XT1cInRydWVcIlxuICAgICAgICB2YXJpYW50PVwiaW5mb1wiXG4gICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICBpbmxpbmVTdHlsZXM9XCJtaW4taGVpZ2h0OiA0NHB4O1wiPlxuICAgICAgPC9jcWEtYmFkZ2U+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNJblByb2dyZXNzXCI+XG4gICAgICAgIDxjcWEtYnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBidXR0b25zXCJcbiAgICAgICAgICBbdmFyaWFudF09XCJidXR0b24udmFyaWFudFwiXG4gICAgICAgICAgW3RleHRdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICBbaWNvbl09XCJidXR0b24uaWNvblwiXG4gICAgICAgICAgW2J0blNpemVdPVwiYnV0dG9uLmJ0blNpemUgfHwgJ2xnJ1wiXG4gICAgICAgICAgW2Z1bGxXaWR0aF09XCJidXR0b24uZnVsbFdpZHRoICE9PSB1bmRlZmluZWQgPyBidXR0b24uZnVsbFdpZHRoIDogdHJ1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbi5kaXNhYmxlZCA/PyBmYWxzZVwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljayhidXR0b24pXCI+XG4gICAgICAgIDwvY3FhLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -64,10 +64,10 @@ export class BreakpointsModalComponent {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
BreakpointsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BreakpointsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
BreakpointsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: BreakpointsModalComponent, selector: "cqa-breakpoints-modal", inputs: { isOpen: "isOpen", title: "title", items: "items", buttonLabel: "buttonLabel", emptyStateLabel: "emptyStateLabel" }, outputs: { onClose: "onClose", onRemove: "onRemove", onRemoveAll: "onRemoveAll" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-
|
|
67
|
+
BreakpointsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: BreakpointsModalComponent, selector: "cqa-breakpoints-modal", inputs: { isOpen: "isOpen", title: "title", items: "items", buttonLabel: "buttonLabel", emptyStateLabel: "emptyStateLabel" }, outputs: { onClose: "onClose", onRemove: "onRemove", onRemoveAll: "onRemoveAll" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-[100] cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-xl cqa-bg-white cqa-shadow-lg cqa-w-full cqa-max-w-[420px] cqa-overflow-hidden cqa-flex cqa-flex-col\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808; max-height: 90vh;\"\n (click)=\"$event.stopPropagation()\">\n\n <!-- Header -->\n <div class=\"cqa-px-6 cqa-pt-6 cqa-pb-2\">\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-3\">\n <h2 class=\"cqa-text-lg cqa-font-semibold cqa-text-[#0B0B0C] cqa-text-base cqa-font-inter\">\n {{ title }}\n </h2>\n <button\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-6 cqa-h-6 cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 hover:cqa-text-gray-700 cqa-transition-colors cqa-rounded cqa--mt-[2px] cqa--mr-[2px]\"\n (click)=\"handleClose()\"\n aria-label=\"Close modal\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px] !cqa-block !cqa-leading-none\">close</mat-icon>\n </button>\n </div>\n <!-- Summary text -->\n <p *ngIf=\"hasItems\" class=\"cqa-text-sm cqa-font-normal cqa-text-[#666666] cqa-text-sm cqa-leading-[1.4] cqa-font-inter cqa-m-0 cqa-mt-1\">\n {{ summaryText }}\n </p>\n </div>\n\n <!-- Divider -->\n <div class=\"cqa--mx-2 cqa-w-[calc(100%+1rem)] cqa-flex-shrink-0\">\n <div class=\"cqa-h-px cqa-w-full cqa-bg-[#E5E7EB]\" role=\"presentation\"></div>\n </div>\n\n <!-- Content -->\n <div class=\"cqa-flex-1 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-px-6 cqa-pt-4 cqa-pb-2\" style=\"scrollbar-width: thin; max-height: 50vh;\">\n <!-- Empty State -->\n <div *ngIf=\"!hasItems\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-8 cqa-text-center\">\n <p class=\"cqa-text-sm cqa-text-[#666666] cqa-font-inter cqa-m-0\">\n {{ emptyStateLabel || 'No Data Found.' }}\n </p>\n </div>\n\n <!-- Breakpoints List -->\n <div *ngIf=\"hasItems\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let item of displayItems; trackBy: trackByItemId\"\n class=\"cqa-flex cqa-items-start cqa-gap-3 cqa-px-4 cqa-py-3 cqa-bg-[#e5e7eb2e] cqa-rounded-lg cqa-min-w-0 cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n\n <!-- Red Breakpoint Dot -->\n <span class=\"cqa-flex-shrink-0 cqa-w-[10px] cqa-h-[10px] cqa-mt-[5px] cqa-rounded-full cqa-bg-[#DC2626]\" aria-hidden=\"true\"></span>\n\n <!-- Text Content -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[2px] cqa-min-w-0 cqa-flex-1\">\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#6B7280] cqa-leading-[1.3] cqa-font-inter\">\n {{ item.primaryLabel }}\n </span>\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#111827] cqa-leading-[1.4] cqa-font-inter cqa-break-words\">\n {{ item.secondaryLabel }}\n </span>\n </div>\n <div (click)=\"$event.stopPropagation()\">\n <cqa-button\n type=\"button\"\n variant=\"text\"\n [customClass]=\"'cqa-api-edit-step-verification-delete'\"\n [tooltip]=\"'Remove breakpoint'\"\n (clicked)=\"removeItem(item)\">\n <svg class=\"cqa-api-edit-step-verification-delete-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path d=\"M10.6663 6V12.6667H5.33301V6H10.6663ZM9.66634 2H6.33301L5.66634 2.66667H3.33301V4H12.6663V2.66667H10.333L9.66634 2ZM11.9997 4.66667H3.99967V12.6667C3.99967 13.4 4.59967 14 5.33301 14H10.6663C11.3997 14 11.9997 13.4 11.9997 12.6667V4.66667Z\" fill=\"#99999E\" />\n </svg>\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer: Remove All Button -->\n <div *ngIf=\"hasItems\" class=\"cqa-px-6 cqa-pb-6 cqa-pt-4\">\n \n <cqa-button\n [fullWidth]=\"true\"\n (click)=\"removeAll()\"\n [label]=\"buttonLabel\"\n variant=\"outlined\"\n color=\"black\"\n [text]=\"buttonLabel\"\n >\n </cqa-button>\n <!-- <button\n type=\"button\"\n class=\"cqa-w-full cqa-py-[10px] cqa-px-5 cqa-text-sm cqa-font-medium cqa-text-[#212121] cqa-bg-white cqa-border cqa-border-solid cqa-border-[#D9D9D9] cqa-rounded-lg cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-[#F9FAFB] hover:cqa-border-[#9CA3AF] cqa-font-inter\"\n (click)=\"removeAll()\">\n {{ buttonLabel }}\n </button> -->\n </div>\n </div>\n</div>\n\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "loading", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
68
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BreakpointsModalComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
|
-
args: [{ selector: 'cqa-breakpoints-modal', host: { class: 'cqa-ui-root' }, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-
|
|
70
|
+
args: [{ selector: 'cqa-breakpoints-modal', host: { class: 'cqa-ui-root' }, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-[100] cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-xl cqa-bg-white cqa-shadow-lg cqa-w-full cqa-max-w-[420px] cqa-overflow-hidden cqa-flex cqa-flex-col\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808; max-height: 90vh;\"\n (click)=\"$event.stopPropagation()\">\n\n <!-- Header -->\n <div class=\"cqa-px-6 cqa-pt-6 cqa-pb-2\">\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-3\">\n <h2 class=\"cqa-text-lg cqa-font-semibold cqa-text-[#0B0B0C] cqa-text-base cqa-font-inter\">\n {{ title }}\n </h2>\n <button\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-6 cqa-h-6 cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 hover:cqa-text-gray-700 cqa-transition-colors cqa-rounded cqa--mt-[2px] cqa--mr-[2px]\"\n (click)=\"handleClose()\"\n aria-label=\"Close modal\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px] !cqa-block !cqa-leading-none\">close</mat-icon>\n </button>\n </div>\n <!-- Summary text -->\n <p *ngIf=\"hasItems\" class=\"cqa-text-sm cqa-font-normal cqa-text-[#666666] cqa-text-sm cqa-leading-[1.4] cqa-font-inter cqa-m-0 cqa-mt-1\">\n {{ summaryText }}\n </p>\n </div>\n\n <!-- Divider -->\n <div class=\"cqa--mx-2 cqa-w-[calc(100%+1rem)] cqa-flex-shrink-0\">\n <div class=\"cqa-h-px cqa-w-full cqa-bg-[#E5E7EB]\" role=\"presentation\"></div>\n </div>\n\n <!-- Content -->\n <div class=\"cqa-flex-1 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-px-6 cqa-pt-4 cqa-pb-2\" style=\"scrollbar-width: thin; max-height: 50vh;\">\n <!-- Empty State -->\n <div *ngIf=\"!hasItems\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-8 cqa-text-center\">\n <p class=\"cqa-text-sm cqa-text-[#666666] cqa-font-inter cqa-m-0\">\n {{ emptyStateLabel || 'No Data Found.' }}\n </p>\n </div>\n\n <!-- Breakpoints List -->\n <div *ngIf=\"hasItems\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let item of displayItems; trackBy: trackByItemId\"\n class=\"cqa-flex cqa-items-start cqa-gap-3 cqa-px-4 cqa-py-3 cqa-bg-[#e5e7eb2e] cqa-rounded-lg cqa-min-w-0 cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n\n <!-- Red Breakpoint Dot -->\n <span class=\"cqa-flex-shrink-0 cqa-w-[10px] cqa-h-[10px] cqa-mt-[5px] cqa-rounded-full cqa-bg-[#DC2626]\" aria-hidden=\"true\"></span>\n\n <!-- Text Content -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[2px] cqa-min-w-0 cqa-flex-1\">\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#6B7280] cqa-leading-[1.3] cqa-font-inter\">\n {{ item.primaryLabel }}\n </span>\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#111827] cqa-leading-[1.4] cqa-font-inter cqa-break-words\">\n {{ item.secondaryLabel }}\n </span>\n </div>\n <div (click)=\"$event.stopPropagation()\">\n <cqa-button\n type=\"button\"\n variant=\"text\"\n [customClass]=\"'cqa-api-edit-step-verification-delete'\"\n [tooltip]=\"'Remove breakpoint'\"\n (clicked)=\"removeItem(item)\">\n <svg class=\"cqa-api-edit-step-verification-delete-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path d=\"M10.6663 6V12.6667H5.33301V6H10.6663ZM9.66634 2H6.33301L5.66634 2.66667H3.33301V4H12.6663V2.66667H10.333L9.66634 2ZM11.9997 4.66667H3.99967V12.6667C3.99967 13.4 4.59967 14 5.33301 14H10.6663C11.3997 14 11.9997 13.4 11.9997 12.6667V4.66667Z\" fill=\"#99999E\" />\n </svg>\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer: Remove All Button -->\n <div *ngIf=\"hasItems\" class=\"cqa-px-6 cqa-pb-6 cqa-pt-4\">\n \n <cqa-button\n [fullWidth]=\"true\"\n (click)=\"removeAll()\"\n [label]=\"buttonLabel\"\n variant=\"outlined\"\n color=\"black\"\n [text]=\"buttonLabel\"\n >\n </cqa-button>\n <!-- <button\n type=\"button\"\n class=\"cqa-w-full cqa-py-[10px] cqa-px-5 cqa-text-sm cqa-font-medium cqa-text-[#212121] cqa-bg-white cqa-border cqa-border-solid cqa-border-[#D9D9D9] cqa-rounded-lg cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-[#F9FAFB] hover:cqa-border-[#9CA3AF] cqa-font-inter\"\n (click)=\"removeAll()\">\n {{ buttonLabel }}\n </button> -->\n </div>\n </div>\n</div>\n\n", styles: [] }]
|
|
71
71
|
}], propDecorators: { isOpen: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}], title: [{
|
|
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
85
85
|
}], onRemoveAll: [{
|
|
86
86
|
type: Output
|
|
87
87
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9leGVjdXRpb24tc2NyZWVuL2JyZWFrcG9pbnRzLW1vZGFsL2JyZWFrcG9pbnRzLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZXhlY3V0aW9uLXNjcmVlbi9icmVha3BvaW50cy1tb2RhbC9icmVha3BvaW50cy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFpQmpHLE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFPRSxnQ0FBZ0M7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBa0I7UUFDVCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBRXZDLDBDQUEwQztRQUNqQyxVQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUV0QyxzQ0FBc0M7UUFDN0IsZ0JBQVcsR0FBVyx3QkFBd0IsQ0FBQztRQUV4RCxnQ0FBZ0M7UUFDdkIsb0JBQWUsR0FBVyxxQkFBcUIsQ0FBQztRQUV6RCxnRkFBZ0Y7UUFDaEYsaUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBRXBDLDBDQUEwQztRQUNoQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3Qyx5REFBeUQ7UUFDL0MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRXhELHFEQUFxRDtRQUMzQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0ErQ2xEO0lBN0NDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLGtCQUFrQixDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBb0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWlCO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUE0QixDQUFDO1FBRXpELElBQUksTUFBTSxLQUFLLGFBQWEsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWEsRUFBRSxJQUFvQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7c0hBeEVVLHlCQUF5QjswR0FBekIseUJBQXlCLDRVQ2pCdEMsd3pKQWtHQTsyRkRqRmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHVCQUF1QixRQUczQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OEJBSXJCLE1BQU07c0JBQWQsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFNSSxPQUFPO3NCQUFoQixNQUFNO2dCQUdHLFFBQVE7c0JBQWpCLE1BQU07Z0JBR0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVha3BvaW50SXRlbSB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0ZXBJZDogbnVtYmVyO1xuICBzdGVwTnVtYmVyOiBzdHJpbmcgfCBudW1iZXI7XG4gIHByaW1hcnlMYWJlbDogc3RyaW5nO1xuICBzZWNvbmRhcnlMYWJlbDogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93IGFkZGl0aW9uYWwgcHJvcGVydGllc1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYnJlYWtwb2ludHMtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWtwb2ludHMtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH1cbn0pXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludHNNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKiBXaGV0aGVyIHRoZSBtb2RhbCBpcyBvcGVuICovXG4gIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBNb2RhbCB0aXRsZSAqL1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ0JyZWFrcG9pbnRzJztcblxuICAvKiogTGlzdCBvZiBicmVha3BvaW50IGl0ZW1zIHRvIGRpc3BsYXkgKi9cbiAgQElucHV0KCkgaXRlbXM6IEJyZWFrcG9pbnRJdGVtW10gPSBbXTtcblxuICAvKiogTGFiZWwgZm9yIHRoZSByZW1vdmUtYWxsIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nID0gJ1JlbW92ZSBhbGwgYnJlYWtwb2ludHMnO1xuXG4gIC8qKiBMYWJlbCBmb3IgdGhlIGVtcHR5IHN0YXRlICovXG4gIEBJbnB1dCgpIGVtcHR5U3RhdGVMYWJlbDogc3RyaW5nID0gJ05vIGJyZWFrcG9pbnRzIHNldC4nO1xuXG4gIC8qKiBJbnRlcm5hbCBjb3B5IHNvIGl0ZW1zIGNhbiBiZSByZW1vdmVkIGxvY2FsbHkgd2hlbiBwYXJlbnQgZG9lc24ndCByZS1iaW5kICovXG4gIGRpc3BsYXlJdGVtczogQnJlYWtwb2ludEl0ZW1bXSA9IFtdO1xuXG4gIC8qKiBFbWl0dGVkIHdoZW4gbW9kYWwgc2hvdWxkIGJlIGNsb3NlZCAqL1xuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2hvdWxkIGJlIHJlbW92ZWQgKi9cbiAgQE91dHB1dCgpIG9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxCcmVha3BvaW50SXRlbT4oKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIGFsbCBicmVha3BvaW50cyBzaG91bGQgYmUgcmVtb3ZlZCAqL1xuICBAT3V0cHV0KCkgb25SZW1vdmVBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddKSB7XG4gICAgICB0aGlzLmRpc3BsYXlJdGVtcyA9IFsuLi4odGhpcy5pdGVtcyB8fCBbXSldO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdW1tYXJ5VGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoO1xuICAgIGlmIChjb3VudCA9PT0gMCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBjb3VudCA9PT0gMSA/ICcxIGJyZWFrcG9pbnQgc2V0JyA6IGAke2NvdW50fSBicmVha3BvaW50cyBzZXRgO1xuICB9XG5cbiAgZ2V0IGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXlJdGVtcyAmJiB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtOiBCcmVha3BvaW50SXRlbSk6IHZvaWQge1xuICAgIHRoaXMub25SZW1vdmUuZW1pdChpdGVtKTtcbiAgICB0aGlzLmRpc3BsYXlJdGVtcyA9IHRoaXMuZGlzcGxheUl0ZW1zLmZpbHRlcihiID0+IGIuaWQgIT09IGl0ZW0uaWQpO1xuICAgIGlmICh0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5vblJlbW92ZUFsbC5lbWl0KCk7XG4gICAgdGhpcy5kaXNwbGF5SXRlbXMgPSBbXTtcbiAgfVxuXG4gIG9uQmFja2Ryb3BDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBjdXJyZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICh0YXJnZXQgPT09IGN1cnJlbnRUYXJnZXQgfHwgdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtYmFja2Ryb3AnKSkge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICB0cmFja0J5SXRlbUlkKGluZGV4OiBudW1iZXIsIGl0ZW06IEJyZWFrcG9pbnRJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxufVxuXG4iLCI8ZGl2ICpuZ0lmPVwiaXNPcGVuXCJcbiAgY2xhc3M9XCJtb2RhbC1iYWNrZHJvcCBjcWEtZml4ZWQgY3FhLWluc2V0LTAgY3FhLWJnLWJsYWNrIGNxYS1iZy1vcGFjaXR5LTUwIGNxYS16LTUwIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1wLTRcIlxuICAoY2xpY2spPVwib25CYWNrZHJvcENsaWNrKCRldmVudClcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLXJvdW5kZWQteGwgY3FhLWJnLXdoaXRlIGNxYS1zaGFkb3ctbGcgY3FhLXctZnVsbCBjcWEtbWF4LXctWzQyMHB4XSBjcWEtb3ZlcmZsb3ctaGlkZGVuIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiXG4gICAgc3R5bGU9XCJib3gtc2hhZG93OiAwcHggOHB4IDhweCAtNHB4ICMxMDE4MjgwODsgbWF4LWhlaWdodDogOTB2aDtcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cblxuICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtcHgtNiBjcWEtcHQtNiBjcWEtcGItMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1nYXAtM1wiPlxuICAgICAgICA8aDIgY2xhc3M9XCJjcWEtdGV4dC1sZyBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bIzBCMEIwQ10gY3FhLXRleHQtYmFzZSBjcWEtZm9udC1pbnRlclwiPlxuICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTYgY3FhLWgtNiBjcWEtcC0wIGNxYS1ib3JkZXItMCBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLWN1cnNvci1wb2ludGVyIGNxYS10ZXh0LWdyYXktNTAwIGhvdmVyOmNxYS10ZXh0LWdyYXktNzAwIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBjcWEtcm91bmRlZCBjcWEtLW10LVsycHhdIGNxYS0tbXItWzJweF1cIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbG9zZSgpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgbW9kYWxcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctNSAhY3FhLWgtNSAhY3FhLXRleHQtWzIwcHhdICFjcWEtYmxvY2sgIWNxYS1sZWFkaW5nLW5vbmVcIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIFN1bW1hcnkgdGV4dCAtLT5cbiAgICAgIDxwICpuZ0lmPVwiaGFzSXRlbXNcIiBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW5vcm1hbCAgY3FhLXRleHQtWyM2NjY2NjZdIGNxYS10ZXh0LXNtIGNxYS1sZWFkaW5nLVsxLjRdIGNxYS1mb250LWludGVyIGNxYS1tLTAgY3FhLW10LTFcIj5cbiAgICAgICAge3sgc3VtbWFyeVRleHQgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gRGl2aWRlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLS1teC0yIGNxYS13LVtjYWxjKDEwMCUrMXJlbSldIGNxYS1mbGV4LXNocmluay0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtcHggY3FhLXctZnVsbCBjcWEtYmctWyNFNUU3RUJdXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLW92ZXJmbG93LXgtaGlkZGVuIGNxYS1weC02IGNxYS1wdC00IGNxYS1wYi0yXCIgc3R5bGU9XCJzY3JvbGxiYXItd2lkdGg6IHRoaW47IG1heC1oZWlnaHQ6IDUwdmg7XCI+XG4gICAgICA8IS0tIEVtcHR5IFN0YXRlIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIiFoYXNJdGVtc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1weS04IGNxYS10ZXh0LWNlbnRlclwiPlxuICAgICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS10ZXh0LVsjNjY2NjY2XSBjcWEtZm9udC1pbnRlciBjcWEtbS0wXCI+XG4gICAgICAgICAge3sgZW1wdHlTdGF0ZUxhYmVsIHx8ICdObyBEYXRhIEZvdW5kLicgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQnJlYWtwb2ludHMgTGlzdCAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNJdGVtc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheUl0ZW1zOyB0cmFja0J5OiB0cmFja0J5SXRlbUlkXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTMgY3FhLXB4LTQgY3FhLXB5LTMgY3FhLWJnLVsjZTVlN2ViMmVdIGNxYS1yb3VuZGVkLWxnIGNxYS1taW4tdy0wIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXVwiPlxuXG4gICAgICAgICAgPCEtLSBSZWQgQnJlYWtwb2ludCBEb3QgLS0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtZmxleC1zaHJpbmstMCBjcWEtdy1bMTBweF0gY3FhLWgtWzEwcHhdIGNxYS1tdC1bNXB4XSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bI0RDMjYyNl1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG5cbiAgICAgICAgICA8IS0tIFRleHQgQ29udGVudCAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtWzJweF0gY3FhLW1pbi13LTAgY3FhLWZsZXgtMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtWyM2QjcyODBdIGNxYS1sZWFkaW5nLVsxLjNdIGNxYS1mb250LWludGVyXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ucHJpbWFyeUxhYmVsIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW5vcm1hbCBjcWEtdGV4dC1bIzExMTgyN10gY3FhLWxlYWRpbmctWzEuNF0gY3FhLWZvbnQtaW50ZXIgY3FhLWJyZWFrLXdvcmRzXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uc2Vjb25kYXJ5TGFiZWwgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgIDxjcWEtYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICAgIFtjdXN0b21DbGFzc109XCInY3FhLWFwaS1lZGl0LXN0ZXAtdmVyaWZpY2F0aW9uLWRlbGV0ZSdcIlxuICAgICAgICAgICAgICBbdG9vbHRpcF09XCInUmVtb3ZlIGJyZWFrcG9pbnQnXCJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwicmVtb3ZlSXRlbShpdGVtKVwiPlxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY3FhLWFwaS1lZGl0LXN0ZXAtdmVyaWZpY2F0aW9uLWRlbGV0ZS1pY29uXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNjY2MyA2VjEyLjY2NjdINS4zMzMwMVY2SDEwLjY2NjNaTTkuNjY2MzQgMkg2LjMzMzAxTDUuNjY2MzQgMi42NjY2N0gzLjMzMzAxVjRIMTIuNjY2M1YyLjY2NjY3SDEwLjMzM0w5LjY2NjM0IDJaTTExLjk5OTcgNC42NjY2N0gzLjk5OTY3VjEyLjY2NjdDMy45OTk2NyAxMy40IDQuNTk5NjcgMTQgNS4zMzMwMSAxNEgxMC42NjYzQzExLjM5OTcgMTQgMTEuOTk5NyAxMy40IDExLjk5OTcgMTIuNjY2N1Y0LjY2NjY3WlwiIGZpbGw9XCIjOTk5OTlFXCIgLz5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2NxYS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEZvb3RlcjogUmVtb3ZlIEFsbCBCdXR0b24gLS0+XG4gICAgPGRpdiAqbmdJZj1cImhhc0l0ZW1zXCIgY2xhc3M9XCJjcWEtcHgtNiBjcWEtcGItNiBjcWEtcHQtNFwiPlxuICAgICAgXG4gICAgICA8Y3FhLWJ1dHRvblxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQWxsKClcIlxuICAgICAgICBbbGFiZWxdPVwiYnV0dG9uTGFiZWxcIlxuICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICBjb2xvcj1cImJsYWNrXCJcbiAgICAgICAgW3RleHRdPVwiYnV0dG9uTGFiZWxcIlxuICAgICAgICA+XG4gICAgICA8L2NxYS1idXR0b24+XG4gICAgICA8IS0tIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtcHktWzEwcHhdIGNxYS1weC01IGNxYS10ZXh0LXNtIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzIxMjEyMV0gY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRDlEOUQ5XSBjcWEtcm91bmRlZC1sZyBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmNxYS1iZy1bI0Y5RkFGQl0gaG92ZXI6Y3FhLWJvcmRlci1bIzlDQTNBRl0gY3FhLWZvbnQtaW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQWxsKClcIj5cbiAgICAgICAge3sgYnV0dG9uTGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPiAtLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9leGVjdXRpb24tc2NyZWVuL2JyZWFrcG9pbnRzLW1vZGFsL2JyZWFrcG9pbnRzLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZXhlY3V0aW9uLXNjcmVlbi9icmVha3BvaW50cy1tb2RhbC9icmVha3BvaW50cy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFpQmpHLE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFPRSxnQ0FBZ0M7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBa0I7UUFDVCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBRXZDLDBDQUEwQztRQUNqQyxVQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUV0QyxzQ0FBc0M7UUFDN0IsZ0JBQVcsR0FBVyx3QkFBd0IsQ0FBQztRQUV4RCxnQ0FBZ0M7UUFDdkIsb0JBQWUsR0FBVyxxQkFBcUIsQ0FBQztRQUV6RCxnRkFBZ0Y7UUFDaEYsaUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBRXBDLDBDQUEwQztRQUNoQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3Qyx5REFBeUQ7UUFDL0MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRXhELHFEQUFxRDtRQUMzQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0ErQ2xEO0lBN0NDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLGtCQUFrQixDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBb0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWlCO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUE0QixDQUFDO1FBRXpELElBQUksTUFBTSxLQUFLLGFBQWEsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWEsRUFBRSxJQUFvQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7c0hBeEVVLHlCQUF5QjswR0FBekIseUJBQXlCLDRVQ2pCdEMsMnpKQWtHQTsyRkRqRmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHVCQUF1QixRQUczQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OEJBSXJCLE1BQU07c0JBQWQsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFNSSxPQUFPO3NCQUFoQixNQUFNO2dCQUdHLFFBQVE7c0JBQWpCLE1BQU07Z0JBR0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVha3BvaW50SXRlbSB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0ZXBJZDogbnVtYmVyO1xuICBzdGVwTnVtYmVyOiBzdHJpbmcgfCBudW1iZXI7XG4gIHByaW1hcnlMYWJlbDogc3RyaW5nO1xuICBzZWNvbmRhcnlMYWJlbDogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93IGFkZGl0aW9uYWwgcHJvcGVydGllc1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYnJlYWtwb2ludHMtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWtwb2ludHMtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH1cbn0pXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludHNNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKiBXaGV0aGVyIHRoZSBtb2RhbCBpcyBvcGVuICovXG4gIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBNb2RhbCB0aXRsZSAqL1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ0JyZWFrcG9pbnRzJztcblxuICAvKiogTGlzdCBvZiBicmVha3BvaW50IGl0ZW1zIHRvIGRpc3BsYXkgKi9cbiAgQElucHV0KCkgaXRlbXM6IEJyZWFrcG9pbnRJdGVtW10gPSBbXTtcblxuICAvKiogTGFiZWwgZm9yIHRoZSByZW1vdmUtYWxsIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nID0gJ1JlbW92ZSBhbGwgYnJlYWtwb2ludHMnO1xuXG4gIC8qKiBMYWJlbCBmb3IgdGhlIGVtcHR5IHN0YXRlICovXG4gIEBJbnB1dCgpIGVtcHR5U3RhdGVMYWJlbDogc3RyaW5nID0gJ05vIGJyZWFrcG9pbnRzIHNldC4nO1xuXG4gIC8qKiBJbnRlcm5hbCBjb3B5IHNvIGl0ZW1zIGNhbiBiZSByZW1vdmVkIGxvY2FsbHkgd2hlbiBwYXJlbnQgZG9lc24ndCByZS1iaW5kICovXG4gIGRpc3BsYXlJdGVtczogQnJlYWtwb2ludEl0ZW1bXSA9IFtdO1xuXG4gIC8qKiBFbWl0dGVkIHdoZW4gbW9kYWwgc2hvdWxkIGJlIGNsb3NlZCAqL1xuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2hvdWxkIGJlIHJlbW92ZWQgKi9cbiAgQE91dHB1dCgpIG9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxCcmVha3BvaW50SXRlbT4oKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIGFsbCBicmVha3BvaW50cyBzaG91bGQgYmUgcmVtb3ZlZCAqL1xuICBAT3V0cHV0KCkgb25SZW1vdmVBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddKSB7XG4gICAgICB0aGlzLmRpc3BsYXlJdGVtcyA9IFsuLi4odGhpcy5pdGVtcyB8fCBbXSldO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdW1tYXJ5VGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoO1xuICAgIGlmIChjb3VudCA9PT0gMCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBjb3VudCA9PT0gMSA/ICcxIGJyZWFrcG9pbnQgc2V0JyA6IGAke2NvdW50fSBicmVha3BvaW50cyBzZXRgO1xuICB9XG5cbiAgZ2V0IGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXlJdGVtcyAmJiB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtOiBCcmVha3BvaW50SXRlbSk6IHZvaWQge1xuICAgIHRoaXMub25SZW1vdmUuZW1pdChpdGVtKTtcbiAgICB0aGlzLmRpc3BsYXlJdGVtcyA9IHRoaXMuZGlzcGxheUl0ZW1zLmZpbHRlcihiID0+IGIuaWQgIT09IGl0ZW0uaWQpO1xuICAgIGlmICh0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5vblJlbW92ZUFsbC5lbWl0KCk7XG4gICAgdGhpcy5kaXNwbGF5SXRlbXMgPSBbXTtcbiAgfVxuXG4gIG9uQmFja2Ryb3BDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBjdXJyZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICh0YXJnZXQgPT09IGN1cnJlbnRUYXJnZXQgfHwgdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtYmFja2Ryb3AnKSkge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICB0cmFja0J5SXRlbUlkKGluZGV4OiBudW1iZXIsIGl0ZW06IEJyZWFrcG9pbnRJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxufVxuXG4iLCI8ZGl2ICpuZ0lmPVwiaXNPcGVuXCJcbiAgY2xhc3M9XCJtb2RhbC1iYWNrZHJvcCBjcWEtZml4ZWQgY3FhLWluc2V0LTAgY3FhLWJnLWJsYWNrIGNxYS1iZy1vcGFjaXR5LTUwIGNxYS16LVsxMDBdIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1wLTRcIlxuICAoY2xpY2spPVwib25CYWNrZHJvcENsaWNrKCRldmVudClcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLXJvdW5kZWQteGwgY3FhLWJnLXdoaXRlIGNxYS1zaGFkb3ctbGcgY3FhLXctZnVsbCBjcWEtbWF4LXctWzQyMHB4XSBjcWEtb3ZlcmZsb3ctaGlkZGVuIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiXG4gICAgc3R5bGU9XCJib3gtc2hhZG93OiAwcHggOHB4IDhweCAtNHB4ICMxMDE4MjgwODsgbWF4LWhlaWdodDogOTB2aDtcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cblxuICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtcHgtNiBjcWEtcHQtNiBjcWEtcGItMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1nYXAtM1wiPlxuICAgICAgICA8aDIgY2xhc3M9XCJjcWEtdGV4dC1sZyBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bIzBCMEIwQ10gY3FhLXRleHQtYmFzZSBjcWEtZm9udC1pbnRlclwiPlxuICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTYgY3FhLWgtNiBjcWEtcC0wIGNxYS1ib3JkZXItMCBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLWN1cnNvci1wb2ludGVyIGNxYS10ZXh0LWdyYXktNTAwIGhvdmVyOmNxYS10ZXh0LWdyYXktNzAwIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBjcWEtcm91bmRlZCBjcWEtLW10LVsycHhdIGNxYS0tbXItWzJweF1cIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbG9zZSgpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgbW9kYWxcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctNSAhY3FhLWgtNSAhY3FhLXRleHQtWzIwcHhdICFjcWEtYmxvY2sgIWNxYS1sZWFkaW5nLW5vbmVcIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIFN1bW1hcnkgdGV4dCAtLT5cbiAgICAgIDxwICpuZ0lmPVwiaGFzSXRlbXNcIiBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW5vcm1hbCAgY3FhLXRleHQtWyM2NjY2NjZdIGNxYS10ZXh0LXNtIGNxYS1sZWFkaW5nLVsxLjRdIGNxYS1mb250LWludGVyIGNxYS1tLTAgY3FhLW10LTFcIj5cbiAgICAgICAge3sgc3VtbWFyeVRleHQgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gRGl2aWRlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLS1teC0yIGNxYS13LVtjYWxjKDEwMCUrMXJlbSldIGNxYS1mbGV4LXNocmluay0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtcHggY3FhLXctZnVsbCBjcWEtYmctWyNFNUU3RUJdXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLW92ZXJmbG93LXgtaGlkZGVuIGNxYS1weC02IGNxYS1wdC00IGNxYS1wYi0yXCIgc3R5bGU9XCJzY3JvbGxiYXItd2lkdGg6IHRoaW47IG1heC1oZWlnaHQ6IDUwdmg7XCI+XG4gICAgICA8IS0tIEVtcHR5IFN0YXRlIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIiFoYXNJdGVtc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1weS04IGNxYS10ZXh0LWNlbnRlclwiPlxuICAgICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS10ZXh0LVsjNjY2NjY2XSBjcWEtZm9udC1pbnRlciBjcWEtbS0wXCI+XG4gICAgICAgICAge3sgZW1wdHlTdGF0ZUxhYmVsIHx8ICdObyBEYXRhIEZvdW5kLicgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQnJlYWtwb2ludHMgTGlzdCAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNJdGVtc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheUl0ZW1zOyB0cmFja0J5OiB0cmFja0J5SXRlbUlkXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTMgY3FhLXB4LTQgY3FhLXB5LTMgY3FhLWJnLVsjZTVlN2ViMmVdIGNxYS1yb3VuZGVkLWxnIGNxYS1taW4tdy0wIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXVwiPlxuXG4gICAgICAgICAgPCEtLSBSZWQgQnJlYWtwb2ludCBEb3QgLS0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtZmxleC1zaHJpbmstMCBjcWEtdy1bMTBweF0gY3FhLWgtWzEwcHhdIGNxYS1tdC1bNXB4XSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bI0RDMjYyNl1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG5cbiAgICAgICAgICA8IS0tIFRleHQgQ29udGVudCAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtWzJweF0gY3FhLW1pbi13LTAgY3FhLWZsZXgtMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtWyM2QjcyODBdIGNxYS1sZWFkaW5nLVsxLjNdIGNxYS1mb250LWludGVyXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ucHJpbWFyeUxhYmVsIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW5vcm1hbCBjcWEtdGV4dC1bIzExMTgyN10gY3FhLWxlYWRpbmctWzEuNF0gY3FhLWZvbnQtaW50ZXIgY3FhLWJyZWFrLXdvcmRzXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uc2Vjb25kYXJ5TGFiZWwgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgIDxjcWEtYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICAgIFtjdXN0b21DbGFzc109XCInY3FhLWFwaS1lZGl0LXN0ZXAtdmVyaWZpY2F0aW9uLWRlbGV0ZSdcIlxuICAgICAgICAgICAgICBbdG9vbHRpcF09XCInUmVtb3ZlIGJyZWFrcG9pbnQnXCJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwicmVtb3ZlSXRlbShpdGVtKVwiPlxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY3FhLWFwaS1lZGl0LXN0ZXAtdmVyaWZpY2F0aW9uLWRlbGV0ZS1pY29uXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNjY2MyA2VjEyLjY2NjdINS4zMzMwMVY2SDEwLjY2NjNaTTkuNjY2MzQgMkg2LjMzMzAxTDUuNjY2MzQgMi42NjY2N0gzLjMzMzAxVjRIMTIuNjY2M1YyLjY2NjY3SDEwLjMzM0w5LjY2NjM0IDJaTTExLjk5OTcgNC42NjY2N0gzLjk5OTY3VjEyLjY2NjdDMy45OTk2NyAxMy40IDQuNTk5NjcgMTQgNS4zMzMwMSAxNEgxMC42NjYzQzExLjM5OTcgMTQgMTEuOTk5NyAxMy40IDExLjk5OTcgMTIuNjY2N1Y0LjY2NjY3WlwiIGZpbGw9XCIjOTk5OTlFXCIgLz5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2NxYS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEZvb3RlcjogUmVtb3ZlIEFsbCBCdXR0b24gLS0+XG4gICAgPGRpdiAqbmdJZj1cImhhc0l0ZW1zXCIgY2xhc3M9XCJjcWEtcHgtNiBjcWEtcGItNiBjcWEtcHQtNFwiPlxuICAgICAgXG4gICAgICA8Y3FhLWJ1dHRvblxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQWxsKClcIlxuICAgICAgICBbbGFiZWxdPVwiYnV0dG9uTGFiZWxcIlxuICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICBjb2xvcj1cImJsYWNrXCJcbiAgICAgICAgW3RleHRdPVwiYnV0dG9uTGFiZWxcIlxuICAgICAgICA+XG4gICAgICA8L2NxYS1idXR0b24+XG4gICAgICA8IS0tIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtcHktWzEwcHhdIGNxYS1weC01IGNxYS10ZXh0LXNtIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bIzIxMjEyMV0gY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRDlEOUQ5XSBjcWEtcm91bmRlZC1sZyBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmNxYS1iZy1bI0Y5RkFGQl0gaG92ZXI6Y3FhLWJvcmRlci1bIzlDQTNBRl0gY3FhLWZvbnQtaW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQWxsKClcIj5cbiAgICAgICAge3sgYnV0dG9uTGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPiAtLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|