@carefirst/library 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  import { Component, Input, HostBinding } from '@angular/core';
2
2
  import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
3
- import { IconsC } from '../../interfaces/icon.interface';
3
+ import { iconsC } from '../../interfaces/icon.interface';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ionic/angular";
6
6
  import * as i2 from "@angular/common";
@@ -39,16 +39,16 @@ export class ButtonComponent {
39
39
  this.inputAlert = checkTruthAttribute(changes, 'alert', this.inputAlert);
40
40
  this.inputAction = checkTruthAttribute(changes, 'action', this.inputAction);
41
41
  this.inputSnug = checkTruthAttribute(changes, 'snug', this.inputSnug);
42
- this.inputIconStart = validateStringValue(changes, 'iconStart', IconsC.slice(), this.inputIconStart);
43
- this.inputIconEnd = validateStringValue(changes, 'iconEnd', IconsC.slice(), this.inputIconEnd);
42
+ this.inputIconStart = validateStringValue(changes, 'iconStart', iconsC.slice(), this.inputIconStart);
43
+ this.inputIconEnd = validateStringValue(changes, 'iconEnd', iconsC.slice(), this.inputIconEnd);
44
44
  this.inputLoading = checkTruthAttribute(changes, 'loading', this.inputLoading);
45
45
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "cf-btn", inputs: { type: "type", disabled: "disabled", alert: "alert", action: "action", snug: "snug", fontSize: "fontSize", iconStart: "iconStart", iconEnd: "iconEnd", loading: "loading" }, host: { properties: { "style.pointer-events": "this.parentEvents" } }, usesOnChanges: true, ngImport: i0, template: "<ion-button\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug\n }\"\n [disabled]=\"inputDisabled\"\n *cfButtonLoader=\"inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p>\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem}ion-button[class^=cf-button-]>p{width:-moz-fit-content;width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .7rem;--padding-bottom: .7rem;--padding-start: 2.1rem;--padding-end: 2.1rem}ion-button[class^=cf-button-].snug{width:-moz-fit-content;width:fit-content;min-height:-moz-fit-content;min-height:fit-content}ion-button[class^=cf-button-].text-large>p{font-size:1.6rem}ion-button[class^=cf-button-].text-small>p{font-size:1rem}.cf-button-primary{--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary p{color:var(--button-text-color)}.cf-button-primary[class*=disabled]{opacity:100%;--background: var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-text-color-alt2)}.cf-button-primary[class*=disabled] p{color:var(--button-text-color)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-secondary{--background: transparent;border:.2rem solid var(--cf-app-color-primary);--button-text-color: var(--cf-app-color-primary)}.cf-button-secondary p{color:var(--button-text-color)}.cf-button-secondary[class*=disabled]{opacity:100%;border:.2rem solid var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled] p{color:var(--button-text-color)}.cf-button-secondary.alert:not([class*=disabled]){border:.2rem solid var(--cf-app-system-color-error);--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--cf-app-color-primary)}.cf-button-tertiary p{color:var(--button-text-color)}.cf-button-tertiary[class*=disabled]{opacity:100%;--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary[class*=disabled] p{color:var(--button-text-color)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.alert:not([class*=disabled]) p{color:var(--button-text-color)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "iconColor"] }, { kind: "directive", type: i4.ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: ["cfButtonLoader"] }] });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ButtonComponent, selector: "cf-btn", inputs: { type: "type", disabled: "disabled", alert: "alert", action: "action", snug: "snug", fontSize: "fontSize", iconStart: "iconStart", iconEnd: "iconEnd", loading: "loading" }, host: { properties: { "style.pointer-events": "this.parentEvents" } }, usesOnChanges: true, ngImport: i0, template: "<ion-button\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug\n }\"\n [disabled]=\"inputDisabled\"\n *cfButtonLoader=\"inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p>\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem}ion-button[class^=cf-button-]>p{width:-moz-fit-content;width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .7rem;--padding-bottom: .7rem;--padding-start: 2.1rem;--padding-end: 2.1rem}ion-button[class^=cf-button-].snug{width:-moz-fit-content;width:fit-content;min-height:-moz-fit-content;min-height:fit-content}ion-button[class^=cf-button-].text-large>p{font-size:1.6rem}ion-button[class^=cf-button-].text-small>p{font-size:1rem}.cf-button-primary{--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary p{color:var(--button-text-color)}.cf-button-primary[class*=disabled]{opacity:100%;--background: var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-primary[class*=disabled] p{color:var(--button-text-color)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-secondary{--background: transparent;border:.2rem solid var(--cf-app-color-primary);--button-text-color: var(--cf-app-color-primary)}.cf-button-secondary p{color:var(--button-text-color)}.cf-button-secondary[class*=disabled]{opacity:100%;border:.2rem solid var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled] p{color:var(--button-text-color)}.cf-button-secondary.alert:not([class*=disabled]){border:.2rem solid var(--cf-app-system-color-error);--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--cf-app-color-primary)}.cf-button-tertiary p{color:var(--button-text-color)}.cf-button-tertiary[class*=disabled]{opacity:100%;--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary[class*=disabled] p{color:var(--button-text-color)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.alert:not([class*=disabled]) p{color:var(--button-text-color)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "iconColor"] }, { kind: "directive", type: i4.ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: ["cfButtonLoader"] }] });
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ButtonComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'cf-btn', template: "<ion-button\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug\n }\"\n [disabled]=\"inputDisabled\"\n *cfButtonLoader=\"inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p>\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem}ion-button[class^=cf-button-]>p{width:-moz-fit-content;width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .7rem;--padding-bottom: .7rem;--padding-start: 2.1rem;--padding-end: 2.1rem}ion-button[class^=cf-button-].snug{width:-moz-fit-content;width:fit-content;min-height:-moz-fit-content;min-height:fit-content}ion-button[class^=cf-button-].text-large>p{font-size:1.6rem}ion-button[class^=cf-button-].text-small>p{font-size:1rem}.cf-button-primary{--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary p{color:var(--button-text-color)}.cf-button-primary[class*=disabled]{opacity:100%;--background: var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-text-color-alt2)}.cf-button-primary[class*=disabled] p{color:var(--button-text-color)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-secondary{--background: transparent;border:.2rem solid var(--cf-app-color-primary);--button-text-color: var(--cf-app-color-primary)}.cf-button-secondary p{color:var(--button-text-color)}.cf-button-secondary[class*=disabled]{opacity:100%;border:.2rem solid var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled] p{color:var(--button-text-color)}.cf-button-secondary.alert:not([class*=disabled]){border:.2rem solid var(--cf-app-system-color-error);--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--cf-app-color-primary)}.cf-button-tertiary p{color:var(--button-text-color)}.cf-button-tertiary[class*=disabled]{opacity:100%;--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary[class*=disabled] p{color:var(--button-text-color)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.alert:not([class*=disabled]) p{color:var(--button-text-color)}\n"] }]
51
+ args: [{ selector: 'cf-btn', template: "<ion-button\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug\n }\"\n [disabled]=\"inputDisabled\"\n *cfButtonLoader=\"inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p>\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem}ion-button[class^=cf-button-]>p{width:-moz-fit-content;width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .7rem;--padding-bottom: .7rem;--padding-start: 2.1rem;--padding-end: 2.1rem}ion-button[class^=cf-button-].snug{width:-moz-fit-content;width:fit-content;min-height:-moz-fit-content;min-height:fit-content}ion-button[class^=cf-button-].text-large>p{font-size:1.6rem}ion-button[class^=cf-button-].text-small>p{font-size:1rem}.cf-button-primary{--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary p{color:var(--button-text-color)}.cf-button-primary[class*=disabled]{opacity:100%;--background: var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-primary[class*=disabled] p{color:var(--button-text-color)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-secondary{--background: transparent;border:.2rem solid var(--cf-app-color-primary);--button-text-color: var(--cf-app-color-primary)}.cf-button-secondary p{color:var(--button-text-color)}.cf-button-secondary[class*=disabled]{opacity:100%;border:.2rem solid var(--cf-app-system-color-disabled);--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled] p{color:var(--button-text-color)}.cf-button-secondary.alert:not([class*=disabled]){border:.2rem solid var(--cf-app-system-color-error);--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled]) p{color:var(--button-text-color)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--cf-app-color-primary)}.cf-button-tertiary p{color:var(--button-text-color)}.cf-button-tertiary[class*=disabled]{opacity:100%;--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary[class*=disabled] p{color:var(--button-text-color)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-tertiary.alert:not([class*=disabled]) p{color:var(--button-text-color)}\n"] }]
52
52
  }], propDecorators: { type: [{
53
53
  type: Input
54
54
  }], disabled: [{
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
71
71
  type: HostBinding,
72
72
  args: ['style.pointer-events']
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBZSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFPdEUsTUFBTSxPQUFPLGVBQWU7SUFDakIsSUFBSSxHQUF5QyxTQUFTLENBQUM7SUFDdkQsUUFBUSxDQUFnQztJQUN4QyxLQUFLLENBQWdDO0lBQ3JDLE1BQU0sQ0FBZ0M7SUFDdEMsSUFBSSxDQUFnQztJQUNwQyxRQUFRLENBQXFCO0lBQzdCLFNBQVMsQ0FBc0I7SUFDL0IsT0FBTyxDQUFzQjtJQUM3QixPQUFPLENBQWdDO0lBRWhELElBQXlDLFlBQVk7UUFDbkQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBR0QsU0FBUyxHQUFxQixTQUFTLENBQUM7SUFDeEMsYUFBYSxHQUFxQyxTQUFTLENBQUM7SUFDNUQsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixjQUFjLEdBQXNDLFNBQVMsQ0FBQztJQUM5RCxZQUFZLEdBQW9DLFNBQVMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBT3JCLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsU0FBUztZQUNaLG1CQUFtQixDQUF1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDO1FBRWhKLElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQW9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpILElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkcsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDO3dHQXREVSxlQUFlOzRGQUFmLGVBQWUsZ1VDbkI1Qixtd0JBbUJBOzs0RkRBYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFFBQVE7OEJBS1QsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRW1DLFlBQVk7c0JBQXBELFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlRmlyc3QgTGlicmFyeSAtIEJ1dHRvblxuICpcbiAqIEBmaWxlICAgICAgICAgIGJ1dHRvbi5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgQnV0dG9uXG4gKiBAYXV0aG9yICAgICAgICBKYWNxdWVzIENvZXR6ZWVcbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMSAtIDA3XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtYnRuIHR5cGU9XCIncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeSdcIiBmb250U2l6ZT1cIidzbWFsbCcgfCAnbGFyZ2UnXCIgJWRpc2FibGVkJSAlYWxlcnQlICVhY3Rpb24lICVzbnVnJT5URVhUPC9jZi1idG4+XG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgdHlwZSBTaW1wbGVDaGFuZ2VzLCB0eXBlIE9uQ2hhbmdlcywgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG5pbXBvcnQgeyBJY29uc0MsIHR5cGUgSWNvbnNUIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWJ0bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdHlwZTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFsZXJ0PzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc251Zz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZvbnRTaXplPzogJ3NtYWxsJyB8ICdsYXJnZSc7XG4gIEBJbnB1dCgpIGljb25TdGFydD86IEljb25zVCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaWNvbkVuZD86IEljb25zVCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbG9hZGluZz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpIGdldCBwYXJlbnRFdmVudHMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gICAgcmV0dXJuICdhdXRvJztcbiAgfVxuXG4gIC8vLS0tIExvY2FsIHZhcmlhYmxlc1xuICBpbnB1dFR5cGU6IHR5cGVvZiB0aGlzLnR5cGUgPSAncHJpbWFyeSc7XG4gIGlucHV0Rm9udFNpemU6IHR5cGVvZiB0aGlzLmZvbnRTaXplIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBpbnB1dERpc2FibGVkID0gZmFsc2U7XG4gIGlucHV0QWxlcnQgPSBmYWxzZTtcbiAgaW5wdXRBY3Rpb24gPSBmYWxzZTtcbiAgaW5wdXRTbnVnID0gZmFsc2U7XG4gIGlucHV0SWNvblN0YXJ0OiB0eXBlb2YgdGhpcy5pY29uU3RhcnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGlucHV0SWNvbkVuZDogdHlwZW9mIHRoaXMuaWNvbkVuZCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXRMb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gaW5wdXQgY2hhbmdlc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBUeXBlXG4gICAgdGhpcy5pbnB1dFR5cGUgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeSc+KGNoYW5nZXMsICd0eXBlJywgWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeSddLCB0aGlzLmlucHV0VHlwZSkgfHwgJ3ByaW1hcnknO1xuICAgIC8vLS0tIEZvbnQgU2l6ZVxuICAgIHRoaXMuaW5wdXRGb250U2l6ZSA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8J3NtYWxsJyB8ICdsYXJnZSc+KGNoYW5nZXMsICdmb250U2l6ZScsIFsnc21hbGwnLCAnbGFyZ2UnXSwgdGhpcy5pbnB1dEZvbnRTaXplKTtcbiAgICAvLy0tLSBEaXNhYmxlZFxuICAgIHRoaXMuaW5wdXREaXNhYmxlZCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2Rpc2FibGVkJywgdGhpcy5pbnB1dERpc2FibGVkKTtcbiAgICAvLy0tLSBBbGVydFxuICAgIHRoaXMuaW5wdXRBbGVydCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2FsZXJ0JywgdGhpcy5pbnB1dEFsZXJ0KTtcbiAgICAvLy0tLSBBY3Rpb25cbiAgICB0aGlzLmlucHV0QWN0aW9uID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWN0aW9uJywgdGhpcy5pbnB1dEFjdGlvbik7XG4gICAgLy8tLS0gU251Z1xuICAgIHRoaXMuaW5wdXRTbnVnID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnc251ZycsIHRoaXMuaW5wdXRTbnVnKTtcbiAgICAvLy0tLSBJY29uIFN0YXJ0XG4gICAgdGhpcy5pbnB1dEljb25TdGFydCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvblN0YXJ0JywgSWNvbnNDLnNsaWNlKCksIHRoaXMuaW5wdXRJY29uU3RhcnQpO1xuICAgIC8vLS0tIEljb24gU3RhcnRcbiAgICB0aGlzLmlucHV0SWNvbkVuZCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvbkVuZCcsIEljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvbkVuZCk7XG4gICAgLy8tLS0gTG9hZGluZ1xuICAgIHRoaXMuaW5wdXRMb2FkaW5nID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnbG9hZGluZycsIHRoaXMuaW5wdXRMb2FkaW5nKTtcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW25nQ2xhc3NdPVwie1xuICAgICdjZi1idXR0b24tcHJpbWFyeSc6IGlucHV0VHlwZSA9PT0gJ3ByaW1hcnknLFxuICAgICdjZi1idXR0b24tc2Vjb25kYXJ5JzogaW5wdXRUeXBlID09PSAnc2Vjb25kYXJ5JyxcbiAgICAnY2YtYnV0dG9uLXRlcnRpYXJ5JzogaW5wdXRUeXBlID09PSAndGVydGlhcnknLFxuICAgICd0ZXh0LWxhcmdlJzogaW5wdXRGb250U2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICAndGV4dC1zbWFsbCc6IGlucHV0Rm9udFNpemUgPT09ICdzbWFsbCcsXG4gICAgYWxlcnQ6IGlucHV0QWxlcnQsXG4gICAgYWN0aW9uOiBpbnB1dEFjdGlvbixcbiAgICBzbnVnOiBpbnB1dFNudWdcbiAgfVwiXG4gIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkXCJcbiAgKmNmQnV0dG9uTG9hZGVyPVwiaW5wdXRMb2FkaW5nXCI+XG4gIDxjZi1pY29uICpuZ0lmPVwiaW5wdXRJY29uU3RhcnRcIiBbaWNvbl09XCJpbnB1dEljb25TdGFydFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuICA8cD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvcD5cbiAgPGNmLWljb24gKm5nSWY9XCJpbnB1dEljb25FbmRcIiBbaWNvbl09XCJpbnB1dEljb25FbmRcIiBzdHlsZT1cIi0tY2Ytc3ZnLW92ZXJ3cml0ZS1zdHJva2UtY29sb3I6IHZhcigtLWJ1dHRvbi10ZXh0LWNvbG9yKVwiPjwvY2YtaWNvbj5cbjwvaW9uLWJ1dHRvbj5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBZSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFPdEUsTUFBTSxPQUFPLGVBQWU7SUFDakIsSUFBSSxHQUF5QyxTQUFTLENBQUM7SUFDdkQsUUFBUSxDQUFnQztJQUN4QyxLQUFLLENBQWdDO0lBQ3JDLE1BQU0sQ0FBZ0M7SUFDdEMsSUFBSSxDQUFnQztJQUNwQyxRQUFRLENBQXFCO0lBQzdCLFNBQVMsQ0FBc0I7SUFDL0IsT0FBTyxDQUFzQjtJQUM3QixPQUFPLENBQWdDO0lBRWhELElBQXlDLFlBQVk7UUFDbkQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBR0QsU0FBUyxHQUFxQixTQUFTLENBQUM7SUFDeEMsYUFBYSxHQUFxQyxTQUFTLENBQUM7SUFDNUQsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixjQUFjLEdBQXNDLFNBQVMsQ0FBQztJQUM5RCxZQUFZLEdBQW9DLFNBQVMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBT3JCLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsU0FBUztZQUNaLG1CQUFtQixDQUF1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDO1FBRWhKLElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQW9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpILElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkcsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDO3VHQXREVSxlQUFlOzJGQUFmLGVBQWUsZ1VDbkI1Qixtd0JBbUJBOzsyRkRBYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFFBQVE7OEJBS1QsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRW1DLFlBQVk7c0JBQXBELFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlRmlyc3QgTGlicmFyeSAtIEJ1dHRvblxuICpcbiAqIEBmaWxlICAgICAgICAgIGJ1dHRvbi5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgQnV0dG9uXG4gKiBAYXV0aG9yICAgICAgICBKYWNxdWVzIENvZXR6ZWVcbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMSAtIDA3XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtYnRuIHR5cGU9XCIncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeSdcIiBmb250U2l6ZT1cIidzbWFsbCcgfCAnbGFyZ2UnXCIgJWRpc2FibGVkJSAlYWxlcnQlICVhY3Rpb24lICVzbnVnJT5URVhUPC9jZi1idG4+XG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgdHlwZSBTaW1wbGVDaGFuZ2VzLCB0eXBlIE9uQ2hhbmdlcywgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG5pbXBvcnQgeyBpY29uc0MsIHR5cGUgSWNvbnNUIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWJ0bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdHlwZTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFsZXJ0PzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc251Zz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZvbnRTaXplPzogJ3NtYWxsJyB8ICdsYXJnZSc7XG4gIEBJbnB1dCgpIGljb25TdGFydD86IEljb25zVCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaWNvbkVuZD86IEljb25zVCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbG9hZGluZz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpIGdldCBwYXJlbnRFdmVudHMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gICAgcmV0dXJuICdhdXRvJztcbiAgfVxuXG4gIC8vLS0tIExvY2FsIHZhcmlhYmxlc1xuICBpbnB1dFR5cGU6IHR5cGVvZiB0aGlzLnR5cGUgPSAncHJpbWFyeSc7XG4gIGlucHV0Rm9udFNpemU6IHR5cGVvZiB0aGlzLmZvbnRTaXplIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBpbnB1dERpc2FibGVkID0gZmFsc2U7XG4gIGlucHV0QWxlcnQgPSBmYWxzZTtcbiAgaW5wdXRBY3Rpb24gPSBmYWxzZTtcbiAgaW5wdXRTbnVnID0gZmFsc2U7XG4gIGlucHV0SWNvblN0YXJ0OiB0eXBlb2YgdGhpcy5pY29uU3RhcnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGlucHV0SWNvbkVuZDogdHlwZW9mIHRoaXMuaWNvbkVuZCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXRMb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gaW5wdXQgY2hhbmdlc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBUeXBlXG4gICAgdGhpcy5pbnB1dFR5cGUgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeSc+KGNoYW5nZXMsICd0eXBlJywgWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeSddLCB0aGlzLmlucHV0VHlwZSkgfHwgJ3ByaW1hcnknO1xuICAgIC8vLS0tIEZvbnQgU2l6ZVxuICAgIHRoaXMuaW5wdXRGb250U2l6ZSA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8J3NtYWxsJyB8ICdsYXJnZSc+KGNoYW5nZXMsICdmb250U2l6ZScsIFsnc21hbGwnLCAnbGFyZ2UnXSwgdGhpcy5pbnB1dEZvbnRTaXplKTtcbiAgICAvLy0tLSBEaXNhYmxlZFxuICAgIHRoaXMuaW5wdXREaXNhYmxlZCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2Rpc2FibGVkJywgdGhpcy5pbnB1dERpc2FibGVkKTtcbiAgICAvLy0tLSBBbGVydFxuICAgIHRoaXMuaW5wdXRBbGVydCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2FsZXJ0JywgdGhpcy5pbnB1dEFsZXJ0KTtcbiAgICAvLy0tLSBBY3Rpb25cbiAgICB0aGlzLmlucHV0QWN0aW9uID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWN0aW9uJywgdGhpcy5pbnB1dEFjdGlvbik7XG4gICAgLy8tLS0gU251Z1xuICAgIHRoaXMuaW5wdXRTbnVnID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnc251ZycsIHRoaXMuaW5wdXRTbnVnKTtcbiAgICAvLy0tLSBJY29uIFN0YXJ0XG4gICAgdGhpcy5pbnB1dEljb25TdGFydCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvblN0YXJ0JywgaWNvbnNDLnNsaWNlKCksIHRoaXMuaW5wdXRJY29uU3RhcnQpO1xuICAgIC8vLS0tIEljb24gU3RhcnRcbiAgICB0aGlzLmlucHV0SWNvbkVuZCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvbkVuZCcsIGljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvbkVuZCk7XG4gICAgLy8tLS0gTG9hZGluZ1xuICAgIHRoaXMuaW5wdXRMb2FkaW5nID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnbG9hZGluZycsIHRoaXMuaW5wdXRMb2FkaW5nKTtcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW25nQ2xhc3NdPVwie1xuICAgICdjZi1idXR0b24tcHJpbWFyeSc6IGlucHV0VHlwZSA9PT0gJ3ByaW1hcnknLFxuICAgICdjZi1idXR0b24tc2Vjb25kYXJ5JzogaW5wdXRUeXBlID09PSAnc2Vjb25kYXJ5JyxcbiAgICAnY2YtYnV0dG9uLXRlcnRpYXJ5JzogaW5wdXRUeXBlID09PSAndGVydGlhcnknLFxuICAgICd0ZXh0LWxhcmdlJzogaW5wdXRGb250U2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICAndGV4dC1zbWFsbCc6IGlucHV0Rm9udFNpemUgPT09ICdzbWFsbCcsXG4gICAgYWxlcnQ6IGlucHV0QWxlcnQsXG4gICAgYWN0aW9uOiBpbnB1dEFjdGlvbixcbiAgICBzbnVnOiBpbnB1dFNudWdcbiAgfVwiXG4gIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkXCJcbiAgKmNmQnV0dG9uTG9hZGVyPVwiaW5wdXRMb2FkaW5nXCI+XG4gIDxjZi1pY29uICpuZ0lmPVwiaW5wdXRJY29uU3RhcnRcIiBbaWNvbl09XCJpbnB1dEljb25TdGFydFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuICA8cD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvcD5cbiAgPGNmLWljb24gKm5nSWY9XCJpbnB1dEljb25FbmRcIiBbaWNvbl09XCJpbnB1dEljb25FbmRcIiBzdHlsZT1cIi0tY2Ytc3ZnLW92ZXJ3cml0ZS1zdHJva2UtY29sb3I6IHZhcigtLWJ1dHRvbi10ZXh0LWNvbG9yKVwiPjwvY2YtaWNvbj5cbjwvaW9uLWJ1dHRvbj5cbiJdfQ==