master-control 0.5.0 → 0.5.2

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.
@@ -122,7 +122,7 @@ export class AnnuityCalculatorRadioComponent {
122
122
  useExisting: forwardRef(() => AnnuityCalculatorRadioComponent),
123
123
  multi: true
124
124
  }
125
- ], usesOnChanges: true, ngImport: i0, template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}} HHHH {{selectedCard.value === card.value}}\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}}\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }] });
125
+ ], usesOnChanges: true, ngImport: i0, template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }] });
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityCalculatorRadioComponent, decorators: [{
128
128
  type: Component,
@@ -133,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
133
133
  useExisting: forwardRef(() => AnnuityCalculatorRadioComponent),
134
134
  multi: true
135
135
  }
136
- ], template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}} HHHH {{selectedCard.value === card.value}}\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}}\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"] }]
136
+ ], template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"] }]
137
137
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { preSelectConfig: [{
138
138
  type: Input
139
139
  }], change: [{
@@ -141,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
141
141
  }], growthRateChange: [{
142
142
  type: Output
143
143
  }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF3QyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZ0I1RSxNQUFNLE9BQU8sK0JBQStCO0lBQ3RCO0lBQXBCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDViw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxlQUFlLEdBQVEsSUFBSSxDQUFDO0lBRXJDLHFCQUFxQjtJQUNyQixtREFBbUQ7SUFDbkQsSUFBSTtJQUVKLFdBQVcsQ0FBQyxPQUFzQjtR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QVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO3dHQXZIVSwrQkFBK0I7NEZBQS9CLCtCQUErQiw4bEJBUi9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDOUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLCtDQ25CSCxtbkpBb0dBLGc0UUQxRlksWUFBWSxvVkFBRSxjQUFjLDhCQUFFLG1CQUFtQiw4QkFDekQsV0FBVzs7NEZBVUYsK0JBQStCO2tCQWYzQyxTQUFTOytCQUNFLDhCQUE4QixXQUcvQixDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CO3dCQUN6RCxXQUFXLENBQUMsY0FDRixJQUFJLGFBQ0w7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdDLENBQUM7NEJBQzlELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytFQVNRLGVBQWU7c0JBQXZCLEtBQUs7Z0JBOENJLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUsIE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSB9IGZyb20gJy4uL2ZpZWxkLW5hbWUtYXR0cmlidXRlLnV0aWwnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFubnVpdHktY2FsY3VsYXRvci1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSh0aGlzLmZpZWxkKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHJlU2VsZWN0Q29uZmlnOiBhbnkgPSBudWxsO1xuXG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xuICAvLyAgIHRoaXMuX2FwcGx5UHJlU2VsZWN0aW9uKHRoaXMucHJlU2VsZWN0Q29uZmlnKTtcbiAgLy8gfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlU2VsZWN0Q29uZmlnJ10gJiYgY2hhbmdlc1sncHJlU2VsZWN0Q29uZmlnJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLl9hcHBseVByZVNlbGVjdGlvbihjaGFuZ2VzWydwcmVTZWxlY3RDb25maWcnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5UHJlU2VsZWN0aW9uKGNvbmZpZzogYW55KTogdm9pZCB7XG4gICAgaWYgKCFjb25maWcpIHJldHVybjtcbiAgICBjb25zdCBmID0gdGhpcy5maWVsZCgpO1xuICAgIGlmICghZikgcmV0dXJuO1xuXG4gICAgLy8gUHJlLXNlbGVjdCByYWRpbyBvcHRpb25cbiAgICBjb25zdCBzZWxlY3RWYWwgPSBjb25maWcuc2VsZWN0VmFsdWU7XG4gICAgaWYgKHNlbGVjdFZhbCAhPT0gbnVsbCAmJiBzZWxlY3RWYWwgIT09IHVuZGVmaW5lZCAmJiBzZWxlY3RWYWwgIT09ICcnKSB7XG4gICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gZj8ub3B0aW9ucz8uZmluZCgob3B0OiBhbnkpID0+IG9wdC52YWx1ZSA9PT0gc2VsZWN0VmFsKTtcbiAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHNlbGVjdFZhbDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFycm93UG9zaXRpb24oKSwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJlLXNlbGVjdCBjYXJkIGJ5IG1hdGNoaW5nIHNlbGVjdGVkQ2FyZFZhbHVlIHdpdGggY2FyZCdzIGdyb3d0aFJhdGVcbiAgICBjb25zdCBjYXJkU2VsZWN0ZWRWYWwgPSBjb25maWcuc2VsZWN0ZWRDYXJkVmFsdWU7XG4gICAgaWYgKGNhcmRTZWxlY3RlZFZhbCAhPT0gbnVsbCAmJiBjYXJkU2VsZWN0ZWRWYWwgIT09IHVuZGVmaW5lZCAmJiBjYXJkU2VsZWN0ZWRWYWwgIT09ICcnKSB7XG4gICAgICBjb25zdCBjYXJkcyA9IGY/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgICBjb25zdCBtYXRjaGVkQ2FyZCA9IGNhcmRzPy5maW5kKChjOiBhbnkpID0+IGMuZ3Jvd3RoUmF0ZSA9PT0gY2FyZFNlbGVjdGVkVmFsKTtcbiAgICAgIGlmIChtYXRjaGVkQ2FyZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZCA9IG1hdGNoZWRDYXJkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZEluZGV4ID0gY2FyZHMuaW5kZXhPZihtYXRjaGVkQ2FyZCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBtYXRjaGVkQ2FyZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcbiAgZmllbGQgOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG4gIGlucHV0VmFsdWU6IGFueSA9IG51bGw7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgZ3Jvd3RoUmF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xuICBzZWxlY3RlZENhcmRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkQ2FyZDogYW55ID0gbnVsbDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgY2FyZHMgPSB0aGlzLmZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgaWYgKGNhcmRzKSB7XG4gICAgICBjb25zdCBpZHggPSBjYXJkcy5maW5kSW5kZXgoKGM6IGFueSkgPT4gYy52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RlZENhcmRJbmRleCA9IGlkeCA+PSAwID8gaWR4IDogbnVsbDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXJkID0gaWR4ID49IDAgPyBjYXJkc1tpZHhdIDogbnVsbDtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNlbGVjdENhcmQoY2FyZDogYW55KTogdm9pZCB7XG4gICAgaWYgKGNhcmQuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZCA9IGNhcmQ7XG4gICAgY29uc3QgY2FyZHMgPSB0aGlzLmZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZENhcmRJbmRleCA9IGNhcmRzID8gY2FyZHMuaW5kZXhPZihjYXJkKSA6IG51bGw7XG4gICAgdGhpcy52YWx1ZSA9IGNhcmQudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuZ3Jvd3RoUmF0ZUNoYW5nZS5lbWl0KGNhcmQpO1xuICB9XG4gIG9uUmFkaW9Hcm91cENoYW5nZShldmVudDogTWF0UmFkaW9DaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgY29uc29sZS5sb2coJ1JhZGlvIGdyb3VwIGNoYW5nZWQ6JywgbmV3VmFsdWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVBcnJvd1Bvc2l0aW9uKCksIDApO1xuICB9XG4gIHRvZ2dsZVJhZGlvKHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCAmJiB0aGlzLnJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3Quc2V0VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub25SYWRpb0dyb3VwQ2hhbmdlKHsgc291cmNlOiB7fSBhcyBhbnksIHZhbHVlOiB2YWx1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQXJyb3dQb3NpdGlvbigpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXJyb3dQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNlbGVjdGVkOiBIVE1MRWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFubnVpdHktcmFkaW8tY2FyZC1nZW5kZXIuc2VsZWN0ZWQnKTtcbiAgICBjb25zdCBjYXJkOiBIVE1MRWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFjci1jYXJkLXdyYXAnKTtcbiAgICBpZiAoc2VsZWN0ZWQgJiYgY2FyZCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSZWN0ID0gc2VsZWN0ZWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjYXJkUmVjdCA9IGNhcmQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjZW50ZXJYID0gc2VsZWN0ZWRSZWN0LmxlZnQgKyBzZWxlY3RlZFJlY3Qud2lkdGggLyAyIC0gY2FyZFJlY3QubGVmdDtcbiAgICAgIGNhcmQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXJyb3ctbGVmdCcsIGAke2NlbnRlclh9cHhgKTtcbiAgICB9XG4gIH1cblxufVxuIiwiXG5cbjxkaXYgY2xhc3M9XCJhY3Itd3JhcHBlclwiPlxuXG4gIDwhLS0gVG9wIEhlYWRlciBMYWJlbCAtLT5cbiAgPGRpdiBjbGFzcz1cImFjci1zdWItbGFiZWxcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCI+XG4gICAge3sgZmllbGQoKT8ubGFiZWwgfX1cbiAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8IS0tIFJhZGlvIE9wdGlvbiBDYXJkcyAtLT5cbiAgPGRpdiBjbGFzcz1cInJhZGlvLWJ0bi1ncm91cDFcIiAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzU2hvd1JhZGlvT3B0aW9uXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhbm51aXR5LXJhZGlvLWNhcmQtZ2VuZGVyXCJcbiAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIGZpZWxkKCk/Lm9wdGlvbnNcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlucHV0VmFsdWUgPT09IGRhdGEudmFsdWVcIlxuICAgICAgW2NsYXNzLmRpc2FibGUtcmFkaW8tYnRuXT1cImZpZWxkKCk/LmlzRGlzYWJsZSB8fCBkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJ1wiXG4gICAgICAoY2xpY2spPVwiKGRhdGEuZGlzYWJsZWQgPT09IHRydWUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gJ3RydWUnKSA/IG51bGwgOiB0b2dnbGVSYWRpbyhkYXRhLnZhbHVlLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8IS0tIEhpZGRlbiBuYXRpdmUgcmFkaW8gaW5wdXQg4oCUIGVuYWJsZXMgcHJvcGVyIFtpZF0vW25hbWVdIGJpbmRpbmcgZm9yIGZvcm0gc2VtYW50aWNzLlxuICAgICAgICAgICBQYXJlbnQgcHJvamVjdHMgY2FuIGJpbmQgKGNoYW5nZSk9XCJteUhhbmRsZXIoJGV2ZW50KVwiIG9uIHRoZSBob3N0IGNvbXBvbmVudC4gLS0+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lO1wiXG4gICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVBdHRyaWJ1dGVcIlxuICAgICAgICBbdmFsdWVdPVwiZGF0YS52YWx1ZVwiXG4gICAgICAgIFtjaGVja2VkXT1cImlucHV0VmFsdWUgPT09IGRhdGEudmFsdWVcIlxuICAgICAgICAoZ3Jvd3RoUmF0ZUNoYW5nZSk9XCJ0b2dnbGVSYWRpbyhkYXRhLnZhbHVlLCAkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImZvclJhZGlvTGFiZWxBbm51aXR5UmFkaW9cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxuICAgICAgICAgICctLXJhZGlvLWJ1dHRvbi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxuICAgICAgICAgICctLXJhZGlvLWJ1dHRvbi1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvclxuICAgICAgICB9XCJcbiAgICAgID57eyBkYXRhLmxhYmVsIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICAgPCEtLSBDYXJkIENvbnRhaW5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImFjci1jYXJkLWNvbnRhaW5lclwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uY2FyZHNWYWx1ZT8ubGVuZ3RoID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY3ItY2FyZC13cmFwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNyLXN1Yi1sYWJlbFwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViTGFiZWxcIj5cbiAgICAgICAge3sgZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViTGFiZWwgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY2FyZHMtbGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FyZCBvZiBmaWVsZCgpPy5jb25maWdEYXRhPy5jYXJkc1ZhbHVlOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNyLW5ldy1jYXJkXCJcbiAgICAgICAgW2NsYXNzLmFjci1uZXctY2FyZC0tc2VsZWN0ZWRdPVwic2VsZWN0ZWRDYXJkLnZhbHVlID09PSBjYXJkLnZhbHVlXCJcbiAgICAgICAgW2NsYXNzLmFjci1uZXctY2FyZC0tZGlzYWJsZWRdPVwiY2FyZC5kaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIHNlbGVjdGVkQ2FyZC52YWx1ZSA9PiB7e3NlbGVjdGVkQ2FyZC52YWx1ZX19IEhISEhIIGNhcmQudmFsdWUgPT4ge3tjYXJkLnZhbHVlfX0gIEhISEgge3tzZWxlY3RlZENhcmQudmFsdWUgPT09IGNhcmQudmFsdWV9fVxuICAgICAgICA8IS0tIENhcmQgSGVhZGVyOiBSYWRpbyArIExhYmVsIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jYXJkLWhlYWRlclwiIChjbGljayk9XCJzZWxlY3RDYXJkKGNhcmQpXCI+XG4gICAgICAgICAgc2VsZWN0ZWRDYXJkLnZhbHVlID0+IHt7c2VsZWN0ZWRDYXJkLnZhbHVlfX0gSEhISEggY2FyZC52YWx1ZSA9PiB7e2NhcmQudmFsdWV9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1yYWRpb1wiIFtjbGFzcy5hY3ItbmV3LXJhZGlvLS1jaGVja2VkXT1cInNlbGVjdGVkQ2FyZC52YWx1ZSA9PT0gY2FyZC52YWx1ZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LXJhZGlvLWlubmVyXCIgKm5nSWY9XCJzZWxlY3RlZENhcmQudmFsdWUgPT09IGNhcmQudmFsdWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1jYXJkLWxhYmVsXCI+e3sgY2FyZC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBUaHJlZS1jb2x1bW4gY29udGVudCByb3cgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNvbnRlbnQtcm93XCI+XG4gICAgICAgICAgPCEtLSBMZWZ0OiBhbW91bnQgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY29sLWFtb3VudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctbWFpbi12YWx1ZVwiPnt7IGNhcmQubWFpblZhbHVlIH19IC8gPHNwYW4gY2xhc3M9XCJhY3ItbmV3LW1haW4tZnJlcXVlbmN5XCI+e3sgY2FyZC5tYWluRnJlcXVlbmN5VmFsdWUgfX08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1zdWItdmFsdWVcIj57eyBjYXJkLnN1YlZhbHVlIH19IC8gPHNwYW4gY2xhc3M9XCJhY3ItbmV3LXN1Yi1mcmVxdWVuY3lcIj57eyBjYXJkLnN1YkZyZXF1ZW5jeVZhbHVlIH19PC9zcGFuPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gQ2VudGVyOiByYXRlIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNvbC1yYXRlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1yYXRlLXBlcmNlbnRcIj57eyBjYXJkLmdyb3d0aFJhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LXJhdGUtcGVyY2VudFwiPkFubnVpdHkgUmF0ZTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gUmlnaHQ6IGd1YXJhbnRlZWQgLyB2YXJpYWJsZSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jb2wtZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctZGV0YWlsLXJvd1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctZGV0YWlsLWtleVwiPkd1YXJhbnRlZWQgOjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWRldGFpbC12YWxcIj57eyBjYXJkLmd1YXJhbnRlZWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWRldGFpbC1yb3dcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWRldGFpbC1rZXlcIj5WYXJpYWJsZSA6PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctZGV0YWlsLXZhbFwiPnt7IGNhcmQudmFyaWFibGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBOb3RlIG91dHNpZGUgY2FyZCBib3JkZXIsIHNob3duIG9ubHkgd2hlbiBzZWxlY3RlZCAtLT5cbiAgICAgICAgPC9kaXY+PCEtLSAvYWNyLW5ldy1jYXJkIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1ub3RlXCIgKm5nSWY9XCJzZWxlY3RlZENhcmQ/LnZhbHVlID09PSBjYXJkLnZhbHVlICYmIGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmluZm9NZXNzYWdlXCI+XG4gICAgICAgICAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiB7eyBmaWVsZCgpPy5jb25maWdEYXRhPy5pbmZvTWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+PCEtLSAvYWNyLW5ldy1jYXJkcy1saXN0IC0tPlxuICAgIDwvZGl2PjwhLS0gL2Fjci1jYXJkLXdyYXAgLS0+XG4gIDwvZGl2PjwhLS0gL2Fjci1jYXJkLWNvbnRhaW5lciAtLT5cblxuPC9kaXY+XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF3QyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZ0I1RSxNQUFNLE9BQU8sK0JBQStCO0lBQ3RCO0lBQXBCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDViw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxlQUFlLEdBQVEsSUFBSSxDQUFDO0lBRXJDLHFCQUFxQjtJQUNyQixtREFBbUQ7SUFDbkQsSUFBSTtJQUVKLFdBQVcsQ0FBQyxPQUFzQjtR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QVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO3dHQXZIVSwrQkFBK0I7NEZBQS9CLCtCQUErQiw4bEJBUi9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDOUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLCtDQ25CSCxtNUlBa0dBLGc0UUR4RlksWUFBWSxvVkFBRSxjQUFjLDhCQUFFLG1CQUFtQiw4QkFDekQsV0FBVzs7NEZBVUYsK0JBQStCO2tCQWYzQyxTQUFTOytCQUNFLDhCQUE4QixXQUcvQixDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CO3dCQUN6RCxXQUFXLENBQUMsY0FDRixJQUFJLGFBQ0w7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdDLENBQUM7NEJBQzlELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytFQVNRLGVBQWU7c0JBQXZCLEtBQUs7Z0JBOENJLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUsIE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSB9IGZyb20gJy4uL2ZpZWxkLW5hbWUtYXR0cmlidXRlLnV0aWwnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFubnVpdHktY2FsY3VsYXRvci1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSh0aGlzLmZpZWxkKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHJlU2VsZWN0Q29uZmlnOiBhbnkgPSBudWxsO1xuXG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xuICAvLyAgIHRoaXMuX2FwcGx5UHJlU2VsZWN0aW9uKHRoaXMucHJlU2VsZWN0Q29uZmlnKTtcbiAgLy8gfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlU2VsZWN0Q29uZmlnJ10gJiYgY2hhbmdlc1sncHJlU2VsZWN0Q29uZmlnJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLl9hcHBseVByZVNlbGVjdGlvbihjaGFuZ2VzWydwcmVTZWxlY3RDb25maWcnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5UHJlU2VsZWN0aW9uKGNvbmZpZzogYW55KTogdm9pZCB7XG4gICAgaWYgKCFjb25maWcpIHJldHVybjtcbiAgICBjb25zdCBmID0gdGhpcy5maWVsZCgpO1xuICAgIGlmICghZikgcmV0dXJuO1xuXG4gICAgLy8gUHJlLXNlbGVjdCByYWRpbyBvcHRpb25cbiAgICBjb25zdCBzZWxlY3RWYWwgPSBjb25maWcuc2VsZWN0VmFsdWU7XG4gICAgaWYgKHNlbGVjdFZhbCAhPT0gbnVsbCAmJiBzZWxlY3RWYWwgIT09IHVuZGVmaW5lZCAmJiBzZWxlY3RWYWwgIT09ICcnKSB7XG4gICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gZj8ub3B0aW9ucz8uZmluZCgob3B0OiBhbnkpID0+IG9wdC52YWx1ZSA9PT0gc2VsZWN0VmFsKTtcbiAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHNlbGVjdFZhbDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFycm93UG9zaXRpb24oKSwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJlLXNlbGVjdCBjYXJkIGJ5IG1hdGNoaW5nIHNlbGVjdGVkQ2FyZFZhbHVlIHdpdGggY2FyZCdzIGdyb3d0aFJhdGVcbiAgICBjb25zdCBjYXJkU2VsZWN0ZWRWYWwgPSBjb25maWcuc2VsZWN0ZWRDYXJkVmFsdWU7XG4gICAgaWYgKGNhcmRTZWxlY3RlZFZhbCAhPT0gbnVsbCAmJiBjYXJkU2VsZWN0ZWRWYWwgIT09IHVuZGVmaW5lZCAmJiBjYXJkU2VsZWN0ZWRWYWwgIT09ICcnKSB7XG4gICAgICBjb25zdCBjYXJkcyA9IGY/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgICBjb25zdCBtYXRjaGVkQ2FyZCA9IGNhcmRzPy5maW5kKChjOiBhbnkpID0+IGMuZ3Jvd3RoUmF0ZSA9PT0gY2FyZFNlbGVjdGVkVmFsKTtcbiAgICAgIGlmIChtYXRjaGVkQ2FyZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZCA9IG1hdGNoZWRDYXJkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZEluZGV4ID0gY2FyZHMuaW5kZXhPZihtYXRjaGVkQ2FyZCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBtYXRjaGVkQ2FyZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcbiAgZmllbGQgOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG4gIGlucHV0VmFsdWU6IGFueSA9IG51bGw7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgZ3Jvd3RoUmF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xuICBzZWxlY3RlZENhcmRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkQ2FyZDogYW55ID0gbnVsbDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgY2FyZHMgPSB0aGlzLmZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgaWYgKGNhcmRzKSB7XG4gICAgICBjb25zdCBpZHggPSBjYXJkcy5maW5kSW5kZXgoKGM6IGFueSkgPT4gYy52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RlZENhcmRJbmRleCA9IGlkeCA+PSAwID8gaWR4IDogbnVsbDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXJkID0gaWR4ID49IDAgPyBjYXJkc1tpZHhdIDogbnVsbDtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNlbGVjdENhcmQoY2FyZDogYW55KTogdm9pZCB7XG4gICAgaWYgKGNhcmQuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZCA9IGNhcmQ7XG4gICAgY29uc3QgY2FyZHMgPSB0aGlzLmZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZENhcmRJbmRleCA9IGNhcmRzID8gY2FyZHMuaW5kZXhPZihjYXJkKSA6IG51bGw7XG4gICAgdGhpcy52YWx1ZSA9IGNhcmQudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuZ3Jvd3RoUmF0ZUNoYW5nZS5lbWl0KGNhcmQpO1xuICB9XG4gIG9uUmFkaW9Hcm91cENoYW5nZShldmVudDogTWF0UmFkaW9DaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgY29uc29sZS5sb2coJ1JhZGlvIGdyb3VwIGNoYW5nZWQ6JywgbmV3VmFsdWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVBcnJvd1Bvc2l0aW9uKCksIDApO1xuICB9XG4gIHRvZ2dsZVJhZGlvKHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCAmJiB0aGlzLnJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3Quc2V0VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub25SYWRpb0dyb3VwQ2hhbmdlKHsgc291cmNlOiB7fSBhcyBhbnksIHZhbHVlOiB2YWx1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQXJyb3dQb3NpdGlvbigpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXJyb3dQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNlbGVjdGVkOiBIVE1MRWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFubnVpdHktcmFkaW8tY2FyZC1nZW5kZXIuc2VsZWN0ZWQnKTtcbiAgICBjb25zdCBjYXJkOiBIVE1MRWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFjci1jYXJkLXdyYXAnKTtcbiAgICBpZiAoc2VsZWN0ZWQgJiYgY2FyZCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSZWN0ID0gc2VsZWN0ZWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjYXJkUmVjdCA9IGNhcmQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjZW50ZXJYID0gc2VsZWN0ZWRSZWN0LmxlZnQgKyBzZWxlY3RlZFJlY3Qud2lkdGggLyAyIC0gY2FyZFJlY3QubGVmdDtcbiAgICAgIGNhcmQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXJyb3ctbGVmdCcsIGAke2NlbnRlclh9cHhgKTtcbiAgICB9XG4gIH1cblxufVxuIiwiXG5cbjxkaXYgY2xhc3M9XCJhY3Itd3JhcHBlclwiPlxuXG4gIDwhLS0gVG9wIEhlYWRlciBMYWJlbCAtLT5cbiAgPGRpdiBjbGFzcz1cImFjci1zdWItbGFiZWxcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCI+XG4gICAge3sgZmllbGQoKT8ubGFiZWwgfX1cbiAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8IS0tIFJhZGlvIE9wdGlvbiBDYXJkcyAtLT5cbiAgPGRpdiBjbGFzcz1cInJhZGlvLWJ0bi1ncm91cDFcIiAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzU2hvd1JhZGlvT3B0aW9uXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhbm51aXR5LXJhZGlvLWNhcmQtZ2VuZGVyXCJcbiAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIGZpZWxkKCk/Lm9wdGlvbnNcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlucHV0VmFsdWUgPT09IGRhdGEudmFsdWVcIlxuICAgICAgW2NsYXNzLmRpc2FibGUtcmFkaW8tYnRuXT1cImZpZWxkKCk/LmlzRGlzYWJsZSB8fCBkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJ1wiXG4gICAgICAoY2xpY2spPVwiKGRhdGEuZGlzYWJsZWQgPT09IHRydWUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gJ3RydWUnKSA/IG51bGwgOiB0b2dnbGVSYWRpbyhkYXRhLnZhbHVlLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8IS0tIEhpZGRlbiBuYXRpdmUgcmFkaW8gaW5wdXQg4oCUIGVuYWJsZXMgcHJvcGVyIFtpZF0vW25hbWVdIGJpbmRpbmcgZm9yIGZvcm0gc2VtYW50aWNzLlxuICAgICAgICAgICBQYXJlbnQgcHJvamVjdHMgY2FuIGJpbmQgKGNoYW5nZSk9XCJteUhhbmRsZXIoJGV2ZW50KVwiIG9uIHRoZSBob3N0IGNvbXBvbmVudC4gLS0+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lO1wiXG4gICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVBdHRyaWJ1dGVcIlxuICAgICAgICBbdmFsdWVdPVwiZGF0YS52YWx1ZVwiXG4gICAgICAgIFtjaGVja2VkXT1cImlucHV0VmFsdWUgPT09IGRhdGEudmFsdWVcIlxuICAgICAgICAoZ3Jvd3RoUmF0ZUNoYW5nZSk9XCJ0b2dnbGVSYWRpbyhkYXRhLnZhbHVlLCAkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImZvclJhZGlvTGFiZWxBbm51aXR5UmFkaW9cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxuICAgICAgICAgICctLXJhZGlvLWJ1dHRvbi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxuICAgICAgICAgICctLXJhZGlvLWJ1dHRvbi1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvclxuICAgICAgICB9XCJcbiAgICAgID57eyBkYXRhLmxhYmVsIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICAgPCEtLSBDYXJkIENvbnRhaW5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImFjci1jYXJkLWNvbnRhaW5lclwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uY2FyZHNWYWx1ZT8ubGVuZ3RoID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY3ItY2FyZC13cmFwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNyLXN1Yi1sYWJlbFwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViTGFiZWxcIj5cbiAgICAgICAge3sgZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViTGFiZWwgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY2FyZHMtbGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FyZCBvZiBmaWVsZCgpPy5jb25maWdEYXRhPy5jYXJkc1ZhbHVlOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNyLW5ldy1jYXJkXCJcbiAgICAgICAgW2NsYXNzLmFjci1uZXctY2FyZC0tc2VsZWN0ZWRdPVwic2VsZWN0ZWRDYXJkLnZhbHVlID09PSBjYXJkLnZhbHVlXCJcbiAgICAgICAgW2NsYXNzLmFjci1uZXctY2FyZC0tZGlzYWJsZWRdPVwiY2FyZC5kaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDwhLS0gQ2FyZCBIZWFkZXI6IFJhZGlvICsgTGFiZWwgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNhcmQtaGVhZGVyXCIgKGNsaWNrKT1cInNlbGVjdENhcmQoY2FyZClcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctcmFkaW9cIiBbY2xhc3MuYWNyLW5ldy1yYWRpby0tY2hlY2tlZF09XCJzZWxlY3RlZENhcmQudmFsdWUgPT09IGNhcmQudmFsdWVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1yYWRpby1pbm5lclwiICpuZ0lmPVwic2VsZWN0ZWRDYXJkLnZhbHVlID09PSBjYXJkLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctY2FyZC1sYWJlbFwiPnt7IGNhcmQubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gVGhyZWUtY29sdW1uIGNvbnRlbnQgcm93IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jb250ZW50LXJvd1wiPlxuICAgICAgICAgIDwhLS0gTGVmdDogYW1vdW50IC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNvbC1hbW91bnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LW1haW4tdmFsdWVcIj57eyBjYXJkLm1haW5WYWx1ZSB9fSAvIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1tYWluLWZyZXF1ZW5jeVwiPnt7IGNhcmQubWFpbkZyZXF1ZW5jeVZhbHVlIH19PC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctc3ViLXZhbHVlXCI+e3sgY2FyZC5zdWJWYWx1ZSB9fSAvIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1zdWItZnJlcXVlbmN5XCI+e3sgY2FyZC5zdWJGcmVxdWVuY3lWYWx1ZSB9fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIENlbnRlcjogcmF0ZSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jb2wtcmF0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctcmF0ZS1wZXJjZW50XCI+e3sgY2FyZC5ncm93dGhSYXRlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1yYXRlLXBlcmNlbnRcIj5Bbm51aXR5IFJhdGU8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIFJpZ2h0OiBndWFyYW50ZWVkIC8gdmFyaWFibGUgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY29sLWRldGFpbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWRldGFpbC1yb3dcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWRldGFpbC1rZXlcIj5HdWFyYW50ZWVkIDo8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1kZXRhaWwtdmFsXCI+e3sgY2FyZC5ndWFyYW50ZWVkIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1kZXRhaWwtcm93XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1kZXRhaWwta2V5XCI+VmFyaWFibGUgOjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWRldGFpbC12YWxcIj57eyBjYXJkLnZhcmlhYmxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gTm90ZSBvdXRzaWRlIGNhcmQgYm9yZGVyLCBzaG93biBvbmx5IHdoZW4gc2VsZWN0ZWQgLS0+XG4gICAgICAgIDwvZGl2PjwhLS0gL2Fjci1uZXctY2FyZCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctbm90ZVwiICpuZ0lmPVwic2VsZWN0ZWRDYXJkPy52YWx1ZSA9PT0gY2FyZC52YWx1ZSAmJiBmaWVsZCgpPy5jb25maWdEYXRhPy5pbmZvTWVzc2FnZVwiPlxuICAgICAgICAgIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4ge3sgZmllbGQoKT8uY29uZmlnRGF0YT8uaW5mb01lc3NhZ2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PjwhLS0gL2Fjci1uZXctY2FyZHMtbGlzdCAtLT5cbiAgICA8L2Rpdj48IS0tIC9hY3ItY2FyZC13cmFwIC0tPlxuICA8L2Rpdj48IS0tIC9hY3ItY2FyZC1jb250YWluZXIgLS0+XG5cbjwvZGl2PlxuIl19
@@ -1,5 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, input } from '@angular/core';
3
+ import { initializeFieldNameAttribute } from '../field-name-attribute.util';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../master-control.service";
5
6
  import * as i2 from "@angular/common";
@@ -8,12 +9,15 @@ export class ButtonComponent {
8
9
  constructor(masterService) {
9
10
  this.masterService = masterService;
10
11
  }
12
+ ngOnInit() {
13
+ initializeFieldNameAttribute(this.field());
14
+ }
11
15
  field = input.required();
12
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "lib-button", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<Button\n class=\"button\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [ngStyle]=\"\n {\n '--button-border-width': field()?.controlStyle?.borderWidth ,\n '--button-border-color': field()?.controlStyle?.borderColor ,\n '--button-border-style': field()?.controlStyle?.borderStyle ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n '--button-margin': field()?.controlStyle?.margin ,\n }\"\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\n>\n<span class=\"button-text\">\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\n<span>{{field()?.label}}</span>\n</span>\n</Button>\n", styles: [".button{height:var(--button-height, 32px)!important;min-width:var(--button-width, 164px)!important;background:var(--button-background, #ffbb00)!important;border-width:var(--button-border-width, 0px)!important;border-color:var(--button-border-color, #fb0)!important;border-style:var(--button-border-style, solid)!important;border-radius:var(--button-border-radius, 8px)!important;font-size:var(--button-font-size, 12px)!important;font-weight:var(--button-font-weight, 800)!important;color:var(--button-text-color, #444)!important;max-width:fit-content}.button-text{display:flex;justify-content:center;gap:4px}.button-text img{margin-top:3px}*{font-family:Mulish!important}.button-disable{background:#ececec!important}@media screen and (max-width: 768px){.button{height:40px!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "lib-button", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<Button\n class=\"button\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [name]=\"field()?.fieldNameAttribute\"\n [ngStyle]=\"\n {\n '--button-border-width': field()?.controlStyle?.borderWidth ,\n '--button-border-color': field()?.controlStyle?.borderColor ,\n '--button-border-style': field()?.controlStyle?.borderStyle ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n '--button-margin': field()?.controlStyle?.margin ,\n }\"\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\n>\n<span class=\"button-text\">\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\n<span>{{field()?.label}}</span>\n</span>\n</Button>\n", styles: [".button{height:var(--button-height, 32px)!important;min-width:var(--button-width, 164px)!important;background:var(--button-background, #ffbb00)!important;border-width:var(--button-border-width, 0px)!important;border-color:var(--button-border-color, #fb0)!important;border-style:var(--button-border-style, solid)!important;border-radius:var(--button-border-radius, 8px)!important;font-size:var(--button-font-size, 12px)!important;font-weight:var(--button-font-weight, 800)!important;color:var(--button-text-color, #444)!important;max-width:fit-content}.button-text{display:flex;justify-content:center;gap:4px}.button-text img{margin-top:3px}*{font-family:Mulish!important}.button-disable{background:#ececec!important}@media screen and (max-width: 768px){.button{height:40px!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
14
18
  }
15
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
16
20
  type: Component,
17
- args: [{ selector: 'lib-button', standalone: true, imports: [CommonModule], template: "<Button\n class=\"button\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [ngStyle]=\"\n {\n '--button-border-width': field()?.controlStyle?.borderWidth ,\n '--button-border-color': field()?.controlStyle?.borderColor ,\n '--button-border-style': field()?.controlStyle?.borderStyle ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n '--button-margin': field()?.controlStyle?.margin ,\n }\"\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\n>\n<span class=\"button-text\">\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\n<span>{{field()?.label}}</span>\n</span>\n</Button>\n", styles: [".button{height:var(--button-height, 32px)!important;min-width:var(--button-width, 164px)!important;background:var(--button-background, #ffbb00)!important;border-width:var(--button-border-width, 0px)!important;border-color:var(--button-border-color, #fb0)!important;border-style:var(--button-border-style, solid)!important;border-radius:var(--button-border-radius, 8px)!important;font-size:var(--button-font-size, 12px)!important;font-weight:var(--button-font-weight, 800)!important;color:var(--button-text-color, #444)!important;max-width:fit-content}.button-text{display:flex;justify-content:center;gap:4px}.button-text img{margin-top:3px}*{font-family:Mulish!important}.button-disable{background:#ececec!important}@media screen and (max-width: 768px){.button{height:40px!important}}\n"] }]
21
+ args: [{ selector: 'lib-button', standalone: true, imports: [CommonModule], template: "<Button\n class=\"button\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [name]=\"field()?.fieldNameAttribute\"\n [ngStyle]=\"\n {\n '--button-border-width': field()?.controlStyle?.borderWidth ,\n '--button-border-color': field()?.controlStyle?.borderColor ,\n '--button-border-style': field()?.controlStyle?.borderStyle ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n '--button-margin': field()?.controlStyle?.margin ,\n }\"\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\n>\n<span class=\"button-text\">\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\n<span>{{field()?.label}}</span>\n</span>\n</Button>\n", styles: [".button{height:var(--button-height, 32px)!important;min-width:var(--button-width, 164px)!important;background:var(--button-background, #ffbb00)!important;border-width:var(--button-border-width, 0px)!important;border-color:var(--button-border-color, #fb0)!important;border-style:var(--button-border-style, solid)!important;border-radius:var(--button-border-radius, 8px)!important;font-size:var(--button-font-size, 12px)!important;font-weight:var(--button-font-weight, 800)!important;color:var(--button-text-color, #444)!important;max-width:fit-content}.button-text{display:flex;justify-content:center;gap:4px}.button-text img{margin-top:3px}*{font-family:Mulish!important}.button-disable{background:#ececec!important}@media screen and (max-width: 768px){.button{height:40px!important}}\n"] }]
18
22
  }], ctorParameters: () => [{ type: i1.MasterControlService }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBV2pELE1BQU0sT0FBTyxlQUFlO0lBQ1A7SUFBbkIsWUFBbUIsYUFBb0M7UUFBcEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO0lBQUUsQ0FBQztJQUMxRCxLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO3dHQUZ4QixlQUFlOzRGQUFmLGVBQWUseU1DWjVCLHcrQkF3QkEsMjBCRGhCWSxZQUFZOzs0RkFJWCxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJTZXJ2aWNlIDogTWFzdGVyQ29udHJvbFNlcnZpY2Upe31cbiAgZmllbGQ6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcbn1cbiIsIjxCdXR0b25cbiAgY2xhc3M9XCJidXR0b25cIlxuICAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCJcbiAgW2Rpc2FibGVkXT1cImZpZWxkKCk/LmlzRGlzYWJsZVwiXG4gIFtuZ1N0eWxlXT1cIlxuICB7XG4gICAgICAnLS1idXR0b24tYm9yZGVyLXdpZHRoJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJXaWR0aCAsXG4gICAgICAnLS1idXR0b24tYm9yZGVyLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvciAsXG4gICAgICAnLS1idXR0b24tYm9yZGVyLXN0eWxlJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJTdHlsZSAsXG4gICAgICAnLS1idXR0b24td2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LndpZHRoICxcbiAgICAgICctLWJ1dHRvbi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplICxcbiAgICAgICctLWJ1dHRvbi1mb250LXdlaWdodCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9udFdlaWdodCAsXG4gICAgICAnLS1idXR0b24tYmFja2dyb3VuZCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXG4gICAgICAnLS1idXR0b24tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzICxcbiAgICAgICctLWJ1dHRvbi10ZXh0LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvciAsXG4gICAgICAnLS1idXR0b24tbWFyZ2luJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5tYXJnaW4gLFxuICB9XCJcbiAgW25nQ2xhc3NdPVwiZmllbGQoKT8uaXNEaXNhYmxlID8gJ2J1dHRvbi1kaXNhYmxlJyA6ICdidXR0b24nXCJcbj5cbjxzcGFuIGNsYXNzPVwiYnV0dG9uLXRleHRcIj5cbjxpbWcgKm5nSWY9XCJmaWVsZCgpPy5pbWFnZVVybFwiIFtzcmNdPSdmaWVsZCgpLmltYWdlVXJsJz5cbjxzcGFuPnt7ZmllbGQoKT8ubGFiZWx9fTwvc3Bhbj5cbjwvc3Bhbj5cbjwvQnV0dG9uPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBVTVFLE1BQU0sT0FBTyxlQUFlO0lBQ1A7SUFBbkIsWUFBbUIsYUFBb0M7UUFBcEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO0lBQUUsQ0FBQztJQUUxRCxRQUFRO1FBQ04sNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELEtBQUssR0FBUSxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7d0dBTnhCLGVBQWU7NEZBQWYsZUFBZSx5TUNiNUIsa2hDQXlCQSwyMEJEaEJZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBpbml0aWFsaXplRmllbGROYW1lQXR0cmlidXRlIH0gZnJvbSAnLi4vZmllbGQtbmFtZS1hdHRyaWJ1dGUudXRpbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKXt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSh0aGlzLmZpZWxkKCkpO1xuICB9XG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG59XG4iLCI8QnV0dG9uXG4gIGNsYXNzPVwiYnV0dG9uXCJcbiAgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZVwiXG4gIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxuICBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVBdHRyaWJ1dGVcIlxuICBbbmdTdHlsZV09XCJcbiAge1xuICAgICAgJy0tYnV0dG9uLWJvcmRlci13aWR0aCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyV2lkdGggLFxuICAgICAgJy0tYnV0dG9uLWJvcmRlci1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyQ29sb3IgLFxuICAgICAgJy0tYnV0dG9uLWJvcmRlci1zdHlsZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyU3R5bGUgLFxuICAgICAgJy0tYnV0dG9uLXdpZHRoJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy53aWR0aCAsXG4gICAgICAnLS1idXR0b24tZm9udC1zaXplJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250U2l6ZSAsXG4gICAgICAnLS1idXR0b24tZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRXZWlnaHQgLFxuICAgICAgJy0tYnV0dG9uLWJhY2tncm91bmQnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJhY2tncm91bmQgLFxuICAgICAgJy0tYnV0dG9uLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclJhZGl1cyAsXG4gICAgICAnLS1idXR0b24tdGV4dC1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uY29sb3IgLFxuICAgICAgJy0tYnV0dG9uLW1hcmdpbic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8ubWFyZ2luICxcbiAgfVwiXG4gIFtuZ0NsYXNzXT1cImZpZWxkKCk/LmlzRGlzYWJsZSA/ICdidXR0b24tZGlzYWJsZScgOiAnYnV0dG9uJ1wiXG4+XG48c3BhbiBjbGFzcz1cImJ1dHRvbi10ZXh0XCI+XG48aW1nICpuZ0lmPVwiZmllbGQoKT8uaW1hZ2VVcmxcIiBbc3JjXT0nZmllbGQoKS5pbWFnZVVybCc+XG48c3Bhbj57e2ZpZWxkKCk/LmxhYmVsfX08L3NwYW4+XG48L3NwYW4+XG48L0J1dHRvbj5cbiJdfQ==
@@ -63,7 +63,7 @@ export class RadioComponent {
63
63
  useExisting: RadioComponent,
64
64
  multi: true
65
65
  }
66
- ], ngImport: i0, template: "<div [class]=\"field()?.configData?.isInlineLabel ? 'radio-inline-wrapper' : ''\">\n <label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [class.radio-inline-label]=\"field()?.configData?.isInlineLabel\" [ngStyle]=\"{\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label>\n @if(reactiveFormControlobject()) {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }@else {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }\n <div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.patternMessage}}.\n </div>\n</div>\n", styles: [".radio-selection-border{border:1px solid #ffbb00!important;background:#fffaeb!important}*{font-family:mulish!important}.field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important;white-space:pre-wrap!important}.error-message{color:red}.toggle-img{width:12px;margin-left:8px!important}@media screen and (max-width: 768px){.toggle-img{width:16px}}.radio-btn-group{display:flex;align-items:center;gap:1rem;align-self:stretch}::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio{display:none!important}.radio-card-gender{box-shadow:none;border-color:var(--radio-button-border-color,#DADADA);border-width:var(--radio-button-border-width, 1px solid);background:var(--radio-button-background-color, #FFFFFF);display:flex;align-items:center;cursor:pointer;width:max-content!important;height:100%;border-radius:var(--radio-button-border-radius, 6px)}.radio-card-gender.two-options{min-width:144px!important}@media (max-width: 400px){.radio-btn-group .radio-card-gender.two-options{min-width:0!important;width:50%!important;max-width:50%!important}}::ng-deep .radioButtonGender .mdc-form-field .mdc-radio{display:none!important}.forRadioLabel{font-size:var(--radio-button-font-size, 12px)!important;font-weight:var(--radio-button-font-weight, 400);cursor:pointer;color:var(--radio-button-font-color, #444444)}.radio-btn-icon{margin-top:-2px;margin-left:4px}.selected-radio-btn{border:1px solid #ffbb00!important}.disable-radio-btn{background:#f5f5f5;pointer-events:none;cursor:none}@media (min-width: 769px){.radio-inline-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.radio-inline-label{flex:1;margin-bottom:0!important;white-space:normal!important}.radio-inline-group{flex-shrink:0}}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: CustomizedTooltipDirective, selector: "[appTooltipTemplate]", inputs: ["appTooltipTemplate"] }] });
66
+ ], ngImport: i0, template: "<div [class]=\"field()?.configData?.isInlineLabel ? 'radio-inline-wrapper' : ''\">\n <label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [class.radio-inline-label]=\"field()?.configData?.isInlineLabel\" [ngStyle]=\"{\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label>\n @if(reactiveFormControlobject()) {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }@else {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }\n <div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.patternMessage}}.\n </div>\n</div>\n", styles: [".radio-selection-border{border:1px solid #ffbb00!important;background:#fffaeb!important}*{font-family:mulish!important}.field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important;white-space:pre-wrap!important}.error-message{color:red}.toggle-img{width:12px;margin-left:8px!important}@media screen and (max-width: 768px){.toggle-img{width:16px}}.radio-btn-group{display:flex;align-items:center;gap:1rem;align-self:stretch}::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio{display:none!important}.radio-card-gender{box-shadow:none;border-color:var(--radio-button-border-color,#DADADA);border-width:var(--radio-button-border-width, 1px solid);background:var(--radio-button-background-color, #FFFFFF);display:flex;align-items:center;cursor:pointer;width:max-content!important;height:100%;border-radius:var(--radio-button-border-radius, 6px)}.radio-card-gender.two-options{min-width:144px!important}@media (max-width: 400px){.radio-btn-group .radio-card-gender.two-options{min-width:0!important;width:50%!important;max-width:50%!important}}::ng-deep .radioButtonGender .mdc-form-field .mdc-radio{display:none!important}.forRadioLabel{font-size:var(--radio-button-font-size, 12px)!important;font-weight:var(--radio-button-font-weight, 400);cursor:pointer;color:var(--radio-button-font-color, #444444)}.radio-btn-icon{margin-top:-2px;margin-left:4px}.selected-radio-btn{border:1px solid #ffbb00!important}.disable-radio-btn{background:#f5f5f5;pointer-events:none;cursor:none}@media (min-width: 769px){.radio-inline-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.radio-inline-label{flex:1;margin-bottom:0!important;white-space:normal!important}.radio-inline-group{flex-shrink:0}}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: CustomizedTooltipDirective, selector: "[appTooltipTemplate]", inputs: ["appTooltipTemplate"] }] });
67
67
  }
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioComponent, decorators: [{
69
69
  type: Component,
@@ -79,8 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
79
79
  useExisting: RadioComponent,
80
80
  multi: true
81
81
  }
82
- ], template: "<div [class]=\"field()?.configData?.isInlineLabel ? 'radio-inline-wrapper' : ''\">\n <label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [class.radio-inline-label]=\"field()?.configData?.isInlineLabel\" [ngStyle]=\"{\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label>\n @if(reactiveFormControlobject()) {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }@else {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }\n <div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.patternMessage}}.\n </div>\n</div>\n", styles: [".radio-selection-border{border:1px solid #ffbb00!important;background:#fffaeb!important}*{font-family:mulish!important}.field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important;white-space:pre-wrap!important}.error-message{color:red}.toggle-img{width:12px;margin-left:8px!important}@media screen and (max-width: 768px){.toggle-img{width:16px}}.radio-btn-group{display:flex;align-items:center;gap:1rem;align-self:stretch}::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio{display:none!important}.radio-card-gender{box-shadow:none;border-color:var(--radio-button-border-color,#DADADA);border-width:var(--radio-button-border-width, 1px solid);background:var(--radio-button-background-color, #FFFFFF);display:flex;align-items:center;cursor:pointer;width:max-content!important;height:100%;border-radius:var(--radio-button-border-radius, 6px)}.radio-card-gender.two-options{min-width:144px!important}@media (max-width: 400px){.radio-btn-group .radio-card-gender.two-options{min-width:0!important;width:50%!important;max-width:50%!important}}::ng-deep .radioButtonGender .mdc-form-field .mdc-radio{display:none!important}.forRadioLabel{font-size:var(--radio-button-font-size, 12px)!important;font-weight:var(--radio-button-font-weight, 400);cursor:pointer;color:var(--radio-button-font-color, #444444)}.radio-btn-icon{margin-top:-2px;margin-left:4px}.selected-radio-btn{border:1px solid #ffbb00!important}.disable-radio-btn{background:#f5f5f5;pointer-events:none;cursor:none}@media (min-width: 769px){.radio-inline-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.radio-inline-label{flex:1;margin-bottom:0!important;white-space:normal!important}.radio-inline-group{flex-shrink:0}}\n"] }]
82
+ ], template: "<div [class]=\"field()?.configData?.isInlineLabel ? 'radio-inline-wrapper' : ''\">\n <label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [class.radio-inline-label]=\"field()?.configData?.isInlineLabel\" [ngStyle]=\"{\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label>\n @if(reactiveFormControlobject()) {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }@else {\n <mat-radio-group [class]=\"'radio-btn-group radio-btn-gender ' + field()?.fieldName + (field()?.configData?.isInlineLabel ? ' radio-inline-group' : ' w-100')\" *ngIf=\"field() && field()?.isVisible\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n (change)=\"onRadioGroupChange($event)\"\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldNameAttribute\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || data.disabled === true || data.disabled === 'true', 'two-options': field()?.options?.length === 2}\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n [disabled]=\"data.disabled === true || data.disabled === 'true'\"\n [id]=\"field()?.fieldName + '_' + data.value\"\n [name]=\"field()?.fieldNameAttribute + '_' + data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }\n <div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.patternMessage}}.\n </div>\n</div>\n", styles: [".radio-selection-border{border:1px solid #ffbb00!important;background:#fffaeb!important}*{font-family:mulish!important}.field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important;white-space:pre-wrap!important}.error-message{color:red}.toggle-img{width:12px;margin-left:8px!important}@media screen and (max-width: 768px){.toggle-img{width:16px}}.radio-btn-group{display:flex;align-items:center;gap:1rem;align-self:stretch}::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio{display:none!important}.radio-card-gender{box-shadow:none;border-color:var(--radio-button-border-color,#DADADA);border-width:var(--radio-button-border-width, 1px solid);background:var(--radio-button-background-color, #FFFFFF);display:flex;align-items:center;cursor:pointer;width:max-content!important;height:100%;border-radius:var(--radio-button-border-radius, 6px)}.radio-card-gender.two-options{min-width:144px!important}@media (max-width: 400px){.radio-btn-group .radio-card-gender.two-options{min-width:0!important;width:50%!important;max-width:50%!important}}::ng-deep .radioButtonGender .mdc-form-field .mdc-radio{display:none!important}.forRadioLabel{font-size:var(--radio-button-font-size, 12px)!important;font-weight:var(--radio-button-font-weight, 400);cursor:pointer;color:var(--radio-button-font-color, #444444)}.radio-btn-icon{margin-top:-2px;margin-left:4px}.selected-radio-btn{border:1px solid #ffbb00!important}.disable-radio-btn{background:#f5f5f5;pointer-events:none;cursor:none}@media (min-width: 769px){.radio-inline-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.radio-inline-label{flex:1;margin-bottom:0!important;white-space:normal!important}.radio-inline-group{flex-shrink:0}}\n"] }]
83
83
  }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { change: [{
84
84
  type: Output
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxjQUFjLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFFekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQXNCNUUsTUFBTSxPQUFPLGNBQWM7SUFDTjtJQUFuQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRSxDQUFDO0lBQzFELHlCQUF5QixHQUFTLEtBQUssRUFBTyxDQUFDO0lBQy9DLEtBQUssR0FBUyxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDcEMsVUFBVSxHQUFRLElBQUksQ0FBQztJQUV2QixRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFaEIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFM0MsUUFBUTtRQUNOLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLGtFQUFrRTtJQUNwRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFxQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVLEVBQUUsS0FBWTtRQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7d0dBcERVLGNBQWM7NEZBQWQsY0FBYyw4WUFSWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDMUJMLDh6S0E0RkEsdXlERGhGSSxjQUFjLG9sQkFDZCxZQUFZLGtiQUNaLG1CQUFtQixzaEJBQ25CLFdBQVcsK0JBQ1gsMEJBQTBCOzs0RkFZakIsY0FBYztrQkFwQjFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLDBCQUEwQjtxQkFDM0IsYUFHWTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGdCQUFnQjs0QkFDM0IsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7eUZBV08sTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9taXplZFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLy4uL2RpcmVjdGl2ZXMvY3VzdG9taXplZC50b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgaW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUsIE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7IGluaXRpYWxpemVGaWVsZE5hbWVBdHRyaWJ1dGUgfSBmcm9tICcuLi9maWVsZC1uYW1lLWF0dHJpYnV0ZS51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJhZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEN1c3RvbWl6ZWRUb29sdGlwRGlyZWN0aXZlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuY3NzJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBSYWRpb0NvbXBvbmVudCxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKXt9XG4gIHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QgOiBhbnkgPSBpbnB1dDxhbnk+KCk7XG4gIGZpZWxkIDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBpbnB1dFZhbHVlOiBhbnkgPSBudWxsO1xuXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSh0aGlzLmZpZWxkKCkpO1xuICAgIC8vIEluaXRpYWxpemUgaW5wdXRWYWx1ZSB3aXRoIGEgZGVmYXVsdCBvciBpbml0aWFsIHZhbHVlIGlmIG5lZWRlZFxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gIH1cblxuICBvblJhZGlvR3JvdXBDaGFuZ2UoZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC52YWx1ZTtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIGNvbnNvbGUubG9nKCdSYWRpbyBncm91cCBjaGFuZ2VkOicsIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHRvZ2dsZVJhZGlvKHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCAmJiB0aGlzLnJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3Quc2V0VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub25SYWRpb0dyb3VwQ2hhbmdlKHsgc291cmNlOiB7fSBhcyBhbnksIHZhbHVlOiB2YWx1ZSB9KTtcbiAgfVxuXG59XG5cbiIsIjxkaXYgW2NsYXNzXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzSW5saW5lTGFiZWwgPyAncmFkaW8taW5saW5lLXdyYXBwZXInIDogJydcIj5cbiAgPGxhYmVsIGNsYXNzPVwiZmllbGQtbGFibGVcIiAgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZSAmJiBmaWVsZCgpLmlzU2hvd0xhYmVsXCIgW2NsYXNzLnJhZGlvLWlubGluZS1sYWJlbF09XCJmaWVsZCgpPy5jb25maWdEYXRhPy5pc0lubGluZUxhYmVsXCIgW25nU3R5bGVdPVwie1xuICB9XCI+e3tmaWVsZCgpPy5sYWJlbH19PHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgPHNwYW4gW2FwcFRvb2x0aXBUZW1wbGF0ZV09XCJIdG1sQ29udGVudFwiIGFycm93UG9zaXRpb249XCJsZWZ0XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+XG4gICAgPGltZyBbc3JjXT1cImZpZWxkKCkuY29uZmlnRGF0YT8ubGFiZWxJY29uVXJsXCIgY2xhc3M9XCJ0b2dnbGUtaW1nIG14LTFcIiAvPlxuICA8L3NwYW4+XG4gIDxuZy10ZW1wbGF0ZSAjSHRtbENvbnRlbnQ+XG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJmaWVsZCgpLmNvbmZpZ0RhdGE/LnRvb2x0aXBNZXNzYWdlXCI+PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuICA8L2xhYmVsPlxuICBAaWYocmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCgpKSB7XG4gICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2NsYXNzXT1cIidyYWRpby1idG4tZ3JvdXAgcmFkaW8tYnRuLWdlbmRlciAnICsgZmllbGQoKT8uZmllbGROYW1lICsgKGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzSW5saW5lTGFiZWwgPyAnIHJhZGlvLWlubGluZS1ncm91cCcgOiAnIHctMTAwJylcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXG4gICAgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIlxuICAgIChjaGFuZ2UpPVwib25SYWRpb0dyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxuICAgIFtuYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZUF0dHJpYnV0ZVwiXG4gICAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2FyZCByYWRpby1jYXJkLWdlbmRlciBweS1hdXRvIHB4LTFcIlxuICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2YgZmllbGQoKT8ub3B0aW9uc1wiXG4gICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGUtcmFkaW8tYnRuJzogZmllbGQoKT8uaXNEaXNhYmxlIHx8IHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3Q/LmRpc2FibGVkIHx8IGRhdGEuZGlzYWJsZWQgPT09IHRydWUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gJ3RydWUnLCAndHdvLW9wdGlvbnMnOiBmaWVsZCgpPy5vcHRpb25zPy5sZW5ndGggPT09IDJ9XCJcbiAgICAgIChjbGljayk9XCIoZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZScpID8gbnVsbCA6IHRvZ2dsZVJhZGlvKGRhdGEudmFsdWUsICRldmVudClcIlxuICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1yYWRpby1idXR0b24tYm9yZGVyLWNvbG9yJzogaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJDb2xvciA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyQ29sb3IsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3InOiBpbnB1dFZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JhY2tncm91bmQgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJhY2tncm91bmQsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJvcmRlci13aWR0aCc6IGlucHV0VmFsdWUgPT09IGRhdGEudmFsdWUgPyBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQm9yZGVyV2lkdGggOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoLFxuICAgICctLXJhZGlvLWJ1dHRvbi1ib3JkZXItcmFkaXVzJzogaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzIDogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMsXG4gIH1cIlxuICAgICAgPlxuICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDcycHg7IHRleHQtYWxpZ246IGNlbnRlcjtcIlxuICAgICAgICBjbGFzcz1cInJhZGlvQnV0dG9uR2VuZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGEudmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZSdcIlxuICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ18nICsgZGF0YS52YWx1ZVwiXG4gICAgICAgIFtuYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZUF0dHJpYnV0ZSArICdfJyArIGRhdGEudmFsdWVcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtbGluZTtcIiBjbGFzcz1cImZvclJhZGlvTGFiZWxcIiBbbmdTdHlsZV09XCJ7XG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxuICAgICctLXJhZGlvLWJ1dHRvbi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxuICAgICctLXJhZGlvLWJ1dHRvbi1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvcixcbiAgfVwiPnt7IGRhdGEubGFiZWwgfX1cbiAgPGltZyBjbGFzcz1cInJhZGlvLWJ0bi1pY29uXCIgKm5nSWY9XCJmaWVsZCgpPy5pbWFnZVVybFwiIFtzcmNdPVwiZmllbGQoKT8uaW1hZ2VVcmxcIiBhbHQ9XCJcIj5cbiAgPC9zcGFuPlxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1yYWRpby1ncm91cD5cbiAgfUBlbHNlIHtcbiAgICAgPG1hdC1yYWRpby1ncm91cCBbY2xhc3NdPVwiJ3JhZGlvLWJ0bi1ncm91cCByYWRpby1idG4tZ2VuZGVyICcgKyBmaWVsZCgpPy5maWVsZE5hbWUgKyAoZmllbGQoKT8uY29uZmlnRGF0YT8uaXNJbmxpbmVMYWJlbCA/ICcgcmFkaW8taW5saW5lLWdyb3VwJyA6ICcgdy0xMDAnKVwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIlxuICAgIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcbiAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvblJhZGlvR3JvdXBDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lQXR0cmlidXRlXCJcbiAgICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjYXJkIHJhZGlvLWNhcmQtZ2VuZGVyIHB5LWF1dG8gcHgtMVwiXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWVsZCgpPy5vcHRpb25zXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZS1yYWRpby1idG4nOiBmaWVsZCgpPy5pc0Rpc2FibGUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZScsICd0d28tb3B0aW9ucyc6IGZpZWxkKCk/Lm9wdGlvbnM/Lmxlbmd0aCA9PT0gMn1cIlxuICAgICAgKGNsaWNrKT1cIihkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJykgPyBudWxsIDogdG9nZ2xlUmFkaW8oZGF0YS52YWx1ZSwgJGV2ZW50KVwiXG4gICAgICAgW25nU3R5bGVdPVwie1xuICAgICctLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3InOiBpbnB1dFZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yIDogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvcixcbiAgICAnLS1yYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvcic6IGlucHV0VmFsdWUgPT09IGRhdGEudmFsdWUgPyBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQmFja2dyb3VuZCA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCxcbiAgICAnLS1yYWRpby1idXR0b24tYm9yZGVyLXdpZHRoJzogaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJXaWR0aCA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyV2lkdGgsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJvcmRlci1yYWRpdXMnOiBpbnB1dFZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclJhZGl1cyxcbiAgfVwiXG4gICAgICA+XG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogNzJweDsgdGV4dC1hbGlnbjogY2VudGVyO1wiXG4gICAgICAgIGNsYXNzPVwicmFkaW9CdXR0b25HZW5kZXJcIlxuICAgICAgICBbdmFsdWVdPVwiZGF0YS52YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJ1wiXG4gICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWUgKyAnXycgKyBkYXRhLnZhbHVlXCJcbiAgICAgICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lQXR0cmlidXRlICsgJ18nICsgZGF0YS52YWx1ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIHN0eWxlPVwid2hpdGUtc3BhY2U6IHByZS1saW5lO1wiIGNsYXNzPVwiZm9yUmFkaW9MYWJlbFwiIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1yYWRpby1idXR0b24tZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRXZWlnaHQsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9udFNpemUsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmNvbG9yLFxuICB9XCI+e3sgZGF0YS5sYWJlbCB9fVxuICA8aW1nIGNsYXNzPVwicmFkaW8tYnRuLWljb25cIiAqbmdJZj1cImZpZWxkKCk/LmltYWdlVXJsXCIgW3NyY109XCJmaWVsZCgpPy5pbWFnZVVybFwiIGFsdD1cIlwiPlxuICA8L3NwYW4+XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgIHt7ZmllbGQoKT8udmFsaWRhdG9ycz8ucGF0dGVybk1lc3NhZ2V9fS5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxjQUFjLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFFekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQXNCNUUsTUFBTSxPQUFPLGNBQWM7SUFDTjtJQUFuQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRSxDQUFDO0lBQzFELHlCQUF5QixHQUFTLEtBQUssRUFBTyxDQUFDO0lBQy9DLEtBQUssR0FBUyxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDcEMsVUFBVSxHQUFRLElBQUksQ0FBQztJQUV2QixRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFaEIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFM0MsUUFBUTtRQUNOLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLGtFQUFrRTtJQUNwRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFxQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVLEVBQUUsS0FBWTtRQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7d0dBcERVLGNBQWM7NEZBQWQsY0FBYyw4WUFSWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDMUJMLHcwS0E0RkEsdXlERGhGSSxjQUFjLG9sQkFDZCxZQUFZLGtiQUNaLG1CQUFtQixzaEJBQ25CLFdBQVcsK0JBQ1gsMEJBQTBCOzs0RkFZakIsY0FBYztrQkFwQjFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLDBCQUEwQjtxQkFDM0IsYUFHWTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGdCQUFnQjs0QkFDM0IsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7eUZBV08sTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9taXplZFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLy4uL2RpcmVjdGl2ZXMvY3VzdG9taXplZC50b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgaW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUsIE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7IGluaXRpYWxpemVGaWVsZE5hbWVBdHRyaWJ1dGUgfSBmcm9tICcuLi9maWVsZC1uYW1lLWF0dHJpYnV0ZS51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJhZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEN1c3RvbWl6ZWRUb29sdGlwRGlyZWN0aXZlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuY3NzJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBSYWRpb0NvbXBvbmVudCxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKXt9XG4gIHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QgOiBhbnkgPSBpbnB1dDxhbnk+KCk7XG4gIGZpZWxkIDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBpbnB1dFZhbHVlOiBhbnkgPSBudWxsO1xuXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSh0aGlzLmZpZWxkKCkpO1xuICAgIC8vIEluaXRpYWxpemUgaW5wdXRWYWx1ZSB3aXRoIGEgZGVmYXVsdCBvciBpbml0aWFsIHZhbHVlIGlmIG5lZWRlZFxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gIH1cblxuICBvblJhZGlvR3JvdXBDaGFuZ2UoZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC52YWx1ZTtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIGNvbnNvbGUubG9nKCdSYWRpbyBncm91cCBjaGFuZ2VkOicsIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHRvZ2dsZVJhZGlvKHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCAmJiB0aGlzLnJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3Quc2V0VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub25SYWRpb0dyb3VwQ2hhbmdlKHsgc291cmNlOiB7fSBhcyBhbnksIHZhbHVlOiB2YWx1ZSB9KTtcbiAgfVxuXG59XG5cbiIsIjxkaXYgW2NsYXNzXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzSW5saW5lTGFiZWwgPyAncmFkaW8taW5saW5lLXdyYXBwZXInIDogJydcIj5cbiAgPGxhYmVsIGNsYXNzPVwiZmllbGQtbGFibGVcIiAgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZSAmJiBmaWVsZCgpLmlzU2hvd0xhYmVsXCIgW2NsYXNzLnJhZGlvLWlubGluZS1sYWJlbF09XCJmaWVsZCgpPy5jb25maWdEYXRhPy5pc0lubGluZUxhYmVsXCIgW25nU3R5bGVdPVwie1xuICB9XCI+e3tmaWVsZCgpPy5sYWJlbH19PHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgPHNwYW4gW2FwcFRvb2x0aXBUZW1wbGF0ZV09XCJIdG1sQ29udGVudFwiIGFycm93UG9zaXRpb249XCJsZWZ0XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+XG4gICAgPGltZyBbc3JjXT1cImZpZWxkKCkuY29uZmlnRGF0YT8ubGFiZWxJY29uVXJsXCIgY2xhc3M9XCJ0b2dnbGUtaW1nIG14LTFcIiAvPlxuICA8L3NwYW4+XG4gIDxuZy10ZW1wbGF0ZSAjSHRtbENvbnRlbnQ+XG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJmaWVsZCgpLmNvbmZpZ0RhdGE/LnRvb2x0aXBNZXNzYWdlXCI+PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuICA8L2xhYmVsPlxuICBAaWYocmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCgpKSB7XG4gICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2NsYXNzXT1cIidyYWRpby1idG4tZ3JvdXAgcmFkaW8tYnRuLWdlbmRlciAnICsgZmllbGQoKT8uZmllbGROYW1lICsgKGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzSW5saW5lTGFiZWwgPyAnIHJhZGlvLWlubGluZS1ncm91cCcgOiAnIHctMTAwJylcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXG4gICAgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIlxuICAgIChjaGFuZ2UpPVwib25SYWRpb0dyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxuICAgIFthdHRyLm5hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lQXR0cmlidXRlXCJcbiAgICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjYXJkIHJhZGlvLWNhcmQtZ2VuZGVyIHB5LWF1dG8gcHgtMVwiXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWVsZCgpPy5vcHRpb25zXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZS1yYWRpby1idG4nOiBmaWVsZCgpPy5pc0Rpc2FibGUgfHwgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdD8uZGlzYWJsZWQgfHwgZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZScsICd0d28tb3B0aW9ucyc6IGZpZWxkKCk/Lm9wdGlvbnM/Lmxlbmd0aCA9PT0gMn1cIlxuICAgICAgKGNsaWNrKT1cIihkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJykgPyBudWxsIDogdG9nZ2xlUmFkaW8oZGF0YS52YWx1ZSwgJGV2ZW50KVwiXG4gICAgICAgW25nU3R5bGVdPVwie1xuICAgICctLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3InOiBpbnB1dFZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yIDogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvcixcbiAgICAnLS1yYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvcic6IGlucHV0VmFsdWUgPT09IGRhdGEudmFsdWUgPyBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQmFja2dyb3VuZCA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCxcbiAgICAnLS1yYWRpby1idXR0b24tYm9yZGVyLXdpZHRoJzogaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJXaWR0aCA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyV2lkdGgsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJvcmRlci1yYWRpdXMnOiBpbnB1dFZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclJhZGl1cyxcbiAgfVwiXG4gICAgICA+XG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogNzJweDsgdGV4dC1hbGlnbjogY2VudGVyO1wiXG4gICAgICAgIGNsYXNzPVwicmFkaW9CdXR0b25HZW5kZXJcIlxuICAgICAgICBbdmFsdWVdPVwiZGF0YS52YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJ1wiXG4gICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWUgKyAnXycgKyBkYXRhLnZhbHVlXCJcbiAgICAgICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lQXR0cmlidXRlICsgJ18nICsgZGF0YS52YWx1ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIHN0eWxlPVwid2hpdGUtc3BhY2U6IHByZS1saW5lO1wiIGNsYXNzPVwiZm9yUmFkaW9MYWJlbFwiIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1yYWRpby1idXR0b24tZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRXZWlnaHQsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9udFNpemUsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmNvbG9yLFxuICB9XCI+e3sgZGF0YS5sYWJlbCB9fVxuICA8aW1nIGNsYXNzPVwicmFkaW8tYnRuLWljb25cIiAqbmdJZj1cImZpZWxkKCk/LmltYWdlVXJsXCIgW3NyY109XCJmaWVsZCgpPy5pbWFnZVVybFwiIGFsdD1cIlwiPlxuICA8L3NwYW4+XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxuICB9QGVsc2Uge1xuICAgICA8bWF0LXJhZGlvLWdyb3VwIFtjbGFzc109XCIncmFkaW8tYnRuLWdyb3VwIHJhZGlvLWJ0bi1nZW5kZXIgJyArIGZpZWxkKCk/LmZpZWxkTmFtZSArIChmaWVsZCgpPy5jb25maWdEYXRhPy5pc0lubGluZUxhYmVsID8gJyByYWRpby1pbmxpbmUtZ3JvdXAnIDogJyB3LTEwMCcpXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZVwiXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxuICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcbiAgICAoY2hhbmdlKT1cIm9uUmFkaW9Hcm91cENoYW5nZSgkZXZlbnQpXCJcbiAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcbiAgICBbYXR0ci5uYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZUF0dHJpYnV0ZVwiXG4gICAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2FyZCByYWRpby1jYXJkLWdlbmRlciBweS1hdXRvIHB4LTFcIlxuICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2YgZmllbGQoKT8ub3B0aW9uc1wiXG4gICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGUtcmFkaW8tYnRuJzogZmllbGQoKT8uaXNEaXNhYmxlIHx8IGRhdGEuZGlzYWJsZWQgPT09IHRydWUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gJ3RydWUnLCAndHdvLW9wdGlvbnMnOiBmaWVsZCgpPy5vcHRpb25zPy5sZW5ndGggPT09IDJ9XCJcbiAgICAgIChjbGljayk9XCIoZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZScpID8gbnVsbCA6IHRvZ2dsZVJhZGlvKGRhdGEudmFsdWUsICRldmVudClcIlxuICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1yYWRpby1idXR0b24tYm9yZGVyLWNvbG9yJzogaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJDb2xvciA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyQ29sb3IsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3InOiBpbnB1dFZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JhY2tncm91bmQgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJhY2tncm91bmQsXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJvcmRlci13aWR0aCc6IGlucHV0VmFsdWUgPT09IGRhdGEudmFsdWUgPyBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQm9yZGVyV2lkdGggOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoLFxuICAgICctLXJhZGlvLWJ1dHRvbi1ib3JkZXItcmFkaXVzJzogaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzIDogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMsXG4gIH1cIlxuICAgICAgPlxuICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDcycHg7IHRleHQtYWxpZ246IGNlbnRlcjtcIlxuICAgICAgICBjbGFzcz1cInJhZGlvQnV0dG9uR2VuZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGEudmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZSdcIlxuICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ18nICsgZGF0YS52YWx1ZVwiXG4gICAgICAgIFtuYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZUF0dHJpYnV0ZSArICdfJyArIGRhdGEudmFsdWVcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtbGluZTtcIiBjbGFzcz1cImZvclJhZGlvTGFiZWxcIiBbbmdTdHlsZV09XCJ7XG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxuICAgICctLXJhZGlvLWJ1dHRvbi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxuICAgICctLXJhZGlvLWJ1dHRvbi1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvcixcbiAgfVwiPnt7IGRhdGEubGFiZWwgfX1cbiAgPGltZyBjbGFzcz1cInJhZGlvLWJ0bi1pY29uXCIgKm5nSWY9XCJmaWVsZCgpPy5pbWFnZVVybFwiIFtzcmNdPVwiZmllbGQoKT8uaW1hZ2VVcmxcIiBhbHQ9XCJcIj5cbiAgPC9zcGFuPlxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1yYWRpby1ncm91cD5cbiAgfVxuICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmFsc2VcIj5cbiAgICB7e2ZpZWxkKCk/LnZhbGlkYXRvcnM/LnBhdHRlcm5NZXNzYWdlfX0uXG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=